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)你想对服务器说谎您将数据发送至,这是错误的。