【问题标题】:Python requests with a raw body带有原始正文的 Python 请求
【发布时间】:2020-02-28 17:26:44
【问题描述】:

抱歉,如果这是一个转发/愚蠢的问题,我已经尝试四处搜索但一无所获。

我有一个 cgi 网络服务器,它接受一个既不是百分比编码也不是表单数据的 POST 有效负载。即,我需要阻止请求被百分比编码,如下所示:

req = Request('POST', license_url, data={ None: data})

而且我还需要请求不包括以下引入的多格式边界:

req = Request('POST', license_url, file={ None: file_handle})

我的请求正文如下所示:

abc
def
ghi=

这正是我想要发布到服务器的内容(当设置为原始有效负载时,Postman 实现了这一点)。

但是,通过数据参数发送看起来像:

data=abc%3Adef%3a..

并通过文件Param:

--b70cc8bd5ac1411488c719a1d773edde
Content-Disposition: form-data; filename="blahblah"

abc
def
ghi=

--b70cc8bd5ac1411488c719a1d773edde

^^^ 这是最接近我需要的,但我也想去除边界/内容处置条款(不在服务器上)。

非常感谢

【问题讨论】:

  • 你能把它作为字节发送吗:b'abc\ndef\nghi='

标签: python http post python-requests


【解决方案1】:

您可以只发布原始文本内容,例如

req = Request('POST', license_url, data=data.encode())

假设 data 是一个字符串。

【讨论】:

    猜你喜欢
    • 2015-12-02
    • 2016-02-11
    • 2020-01-02
    • 2015-10-19
    • 2019-03-09
    • 2021-02-02
    • 2019-06-06
    • 2016-02-23
    • 2016-08-24
    相关资源
    最近更新 更多