Я борюсь с пикурлом.
Это мои заголовки:
headers.append('User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0')
headers.append('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')
headers.append('Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3')
headers.append('Accept-Encoding: gzip, deflate')
headers.append('Accept-Charset: UTF-8,*')
headers.append('Connection: Keep-Alive')
Оригинал:
Что я получаю:
Как видите, тот, который я получил с pycurl, сломан. Если я сравниваю их с инструментом сравнения текста, он говорит мне, что они одинаковы. (Существовала разница в окончаниях строк, где у оригинала был только LF, а у сломанного - CRLF, но я изменил это, и теперь у меня есть идентичные изображения, все еще сломанные)
Хост, с которого я скачиваю, не является причиной. Я пытался сделать то же самое из Dropbox и локального Apache. Оба не работали.
Вот как я могу сохранить изображение:
self.buffer = StringIO.StringIO()
# other curl options like ssl, cookies, followlocation and GET Request URL Setup to the Image: http://dl.dropbox.com/u/25733986/test.jpg
self.curl.setopt(pycurl.WRITEFUNCTION, self.buffer.write)
# -> curl.perform()
f = open("temp/resources/%s" % (filename,), 'w')
f.write(self.buffer.getvalue())
f.close()
Я был бы рад, если бы у кого-нибудь были какие-то предложения по этому поводу, чтобы я мог найти свою ошибку.