2012-06-26 3 views
1

Я использую простой скрипт Python для POST файлов в PHP скрипт:Python запрашивает ошибку Юникода

... 
url = "http://example.com/upload.php" 
r = requests.post(url, data=data, files=files) 
... 

Мне нужно, чтобы поймать текст ответа, которым хранится в

r.text 

Но когда ответ содержит ASCII cahracters (например, файл изображения), Питон терпит неудачу с этой ошибкой:

content = str(self.content, encoding, errors='replace') 
TypeError: unicode() argument 2 must be string, not None 

есть ли способ избежать этой ошибки?

+0

Не сдавать 'None' как второй аргумент (который * кажется * является' encoding')? (то есть, возможно, было бы полезно иметь информацию, в которой происходит «обращение») –

+0

Опубликовать более подробную информацию, стек вызовов, возможно? – bcelary

ответ

7

Двоичный файл, такой как изображение, не имеет ассоциированной кодировки символов. Используйте r.content вместо r.text.

+0

Спасибо за ваш ответ, решили мою проблему. – chab

Смежные вопросы