【问题标题】:download file from web service in python 3从python 3中的Web服务下载文件
【发布时间】:2012-05-16 16:29:19
【问题描述】:

我确实看到了一些在 Python 中从 HTTP/HTTPS 下载文件的方法,但是对于所有这些,您需要知道确切的 URL。我正在尝试从 Web 服务下载,并且 URL 具有为下载文件而发送的方法和发布参数,但我无法确定要发送的 URL 是什么。这是代码sn-p:

url = 'https://www.example123.com'
params = { 'user' : 'username', 'pass' : 'password', 'method' : 'getproject', 'getPDF' : 'true' }
data = urllib.parse.urlencode(params)
data = data.encode('utf-8')
request= urllib.request.Request(url, data)
response = urllib.request.urlopen(request)
xdata = response.read()
print(xdata)

打印语句看起来好像正在阅读 PDF,但我想将它保存在某个地方并且找不到任何方法?这是打印响应的开头:

b'%PDF-1.6\r%\xe2\xe3\xcf\xd3\r\n12 0 obj\r<</Lin

【问题讨论】:

  • urllib.request.urlretrieve 将为您保存到一个文件中(或者您可以打开一个文件并自己编写响应)。

标签: python file download web


【解决方案1】:

您必须打开一个文件并写入它。现在,你只是将它存储在一个字符串变量中。

with open('yourfile.pdf', 'w') as f:
    f.write(xdata)

【讨论】:

  • 谢谢,唯一的改变是将二进制模式下的 'w' 替换为 'wb'。
猜你喜欢
  • 2011-11-06
  • 2019-01-07
  • 2015-04-04
  • 2016-05-29
  • 2012-04-23
  • 1970-01-01
  • 2010-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多