Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python3中从web服务下载文件_Python_File_Download_Web - Fatal编程技术网

在Python3中从web服务下载文件

在Python3中从web服务下载文件,python,file,download,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' : 't

我确实看到了一些在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)
print语句看起来好像在读取PDF,但我想将其保存在某个位置,但找不到任何方法来执行此操作?以下是打印响应的开头:

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

b'%PDF-1.6\r%\xe2\xe3\xcf\xd3\r\n12 0 obj\r您必须打开一个文件并写入它。现在,您只是将其存储在一个字符串变量中

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

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

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

urllib.request.urlretrieve
将为您保存到一个文件中(或者您可以自己打开一个文件并编写响应)。
urllib.request.urlretrieve
将为您保存到一个文件中(或者您可以自己打开一个文件并编写响应)。谢谢,唯一的更改是将二进制模式的“w”替换为“wb”。谢谢,唯一的变化是将二进制模式的“w”替换为“wb”。