gpt4 book ai didi

python - 对二进制数据使用 Urllib2.urlopen 失败?

转载 作者:行者123 更新时间:2023-11-28 19:59:59 25 4
gpt4 key购买 nike

我正在使用 python 以编程方式从 Web 服务器下载 zip 文件。使用网络浏览器,没问题。我写了这个(部分)脚本;

response = urllib2.urlopen(url, data, 10)
the_page = response.read()
f = open(filename, 'w')
f.write(the_page)
f.close()

请求成功,得到数据。问题是我正在下载的文件——一个 zip 文件——不起作用;该文件似乎已损坏。这似乎是正确的长度,在文本编辑器中查看似乎看起来像一个 zip 文件内容。以下是下载的 header ;

内容长度:9891内容处置:内容处置:附件; filename="TrunkBackup_20101230.zip"日期:2009 年 12 月 30 日星期三 12:22:08 GMT接受范围:字节

当我检查响应的长度时,它在 9891 处是正确的。我怀疑发生的事情是当我调用 response.read() 时,结果是一个带有回车的字符串 'helpfully'规范化(例如,\r\n)。当我写入文件时,二进制数据有点错误,zip 文件已损坏。

我的问题是 (A) 我不确定我是否正确,以及 (B) 如果我是正确的,我如何保存二进制数据本身?

最佳答案

尝试以二进制模式打开文件:

 f = open(filename, 'wb')

关于python - 对二进制数据使用 Urllib2.urlopen 失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1979934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com