Python 请求表单数据为每个请求添加内容长度
Python Requests Form Data Adding Content Length to each Request
下面是请求通过 fiddler 的大致情况。我可以看到正在发送两个额外的参数,我无法使用 python.
以编程方式发送这些参数
--13155ffa-71a1-4e80-b213-dd238786ee20
Content-Disposition: form-data; name="image"; filename="image.jpeg"
Content-Type: image/jpeg
Content-Length: 8557
--13155ffa-71a1-4e80-b213-dd238786ee20
Content-Disposition: form-data; name="lat"
Content-Length: 6
18.975
--13155ffa-71a1-4e80-b213-dd238786ee20
Content-Disposition: form-data; name="long"
Content-Length: 10
第一个是Content-Length,第二个是文件下的Content-Type。是否可以在请求中执行此操作?
As stated in the documentation,Content-Type 可以通过传递一个 three-element 元组作为 files
字典的值来设置,例如:
requests.post(
url,
files={
'image': ('image.jpeg', filehandle, 'image/jpeg'),
'lat': ('filename', filehandle, 'text/plain'),
'long': ('filename', filehandle, 'application/octet-stream'),
},
)
您无法设置 Content-Length header,因为请求会自动为您设置。使用与请求集不同的 Content-Length 的唯一原因是(a)请求长度错误,在这种情况下你应该提交错误报告,或者(b)你想对服务器说谎您将数据发送至,这是错误的。
下面是请求通过 fiddler 的大致情况。我可以看到正在发送两个额外的参数,我无法使用 python.
以编程方式发送这些参数 --13155ffa-71a1-4e80-b213-dd238786ee20
Content-Disposition: form-data; name="image"; filename="image.jpeg"
Content-Type: image/jpeg
Content-Length: 8557
--13155ffa-71a1-4e80-b213-dd238786ee20
Content-Disposition: form-data; name="lat"
Content-Length: 6
18.975
--13155ffa-71a1-4e80-b213-dd238786ee20
Content-Disposition: form-data; name="long"
Content-Length: 10
第一个是Content-Length,第二个是文件下的Content-Type。是否可以在请求中执行此操作?
As stated in the documentation,Content-Type 可以通过传递一个 three-element 元组作为 files
字典的值来设置,例如:
requests.post(
url,
files={
'image': ('image.jpeg', filehandle, 'image/jpeg'),
'lat': ('filename', filehandle, 'text/plain'),
'long': ('filename', filehandle, 'application/octet-stream'),
},
)
您无法设置 Content-Length header,因为请求会自动为您设置。使用与请求集不同的 Content-Length 的唯一原因是(a)请求长度错误,在这种情况下你应该提交错误报告,或者(b)你想对服务器说谎您将数据发送至,这是错误的。