python – 用PycURL下载图像让我破碎的图像

我正在与pycurl挣扎.
这些是我的标题:

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()

如果有人对此有任何建议,我会很高兴,所以我可以找到我的错误.

解决方法:

好的,现在我通过发布这个问题终于对此进行了冥想,我得到了解决方案.

我需要以二进制模式打开文件.

f = open("temp/resources/%s" % (filename,), 'wb')

无论如何,我希望这个问题可以帮助别人.

感谢*让我默想这一点.

上一篇:python – pycurl.POSTFIELDS的麻烦


下一篇:python – MAC OS ImportError:pycurl:libcurl链接时版本(7.37.1)早于编译时版本(7.43.0)