python - 从Python 3中的Web服务下载文件

标签 python file download web

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

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

最佳答案

您必须打开一个文件并向其写入内容。现在,您只需将其存储在字符串变量中。

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

关于python - 从Python 3中的Web服务下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10622753/

相关文章:

python - Python exec 中的作用域

linux - 尾 block 会附加到 Linux 内核中的文件吗?

java - 使用 JSF 下载文件?

Python,读取压缩文件评论

python - networkx 从 python 字典设置节点属性

Python:如果__name__ == main,如何在内部插入返回?

perl - 将文件句柄与 IO::Select::can_read() 返回的 glob 进行比较

c++ - 如何使用 C 或 C++ 获取目录中的文件列表?

java - 如何在grails应用程序中创建一个新目录来存储用户可以下载的jasper报告文件

php - youtube-dl 获取直接下载网址