Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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
Python请求库中的分块编码消息_Python_Http_Python Requests_Generator_Chunked Encoding - Fatal编程技术网

Python请求库中的分块编码消息

Python请求库中的分块编码消息,python,http,python-requests,generator,chunked-encoding,Python,Http,Python Requests,Generator,Chunked Encoding,我目前正在用Python3开发一个程序,该程序将在POST请求中向任意URL发送分块编码的消息。如库请求文档中所述(请参阅下的“分块编码请求”),可以使用生成器指定分块编码消息。目前,我无法验证生成器是否完成了任务,因为每次我都试图用 打印(响应.请求.正文) 我得到以下信息: 例如,我想在请求中发送以下消息。(使用C内容类型:application/x-www-form-urlencoded) x=FOO 在分块编码的消息中,消息体应如下所示: 5\r\n x=FOO\r\n 0\r\

我目前正在用Python3开发一个程序,该程序将在POST请求中向任意URL发送分块编码的消息。如库请求文档中所述(请参阅下的“分块编码请求”),可以使用生成器指定分块编码消息。目前,我无法验证生成器是否完成了任务,因为每次我都试图用

打印(响应.请求.正文)
我得到以下信息:


例如,我想在请求中发送以下消息。(使用C内容类型:application/x-www-form-urlencoded)

x=FOO
在分块编码的消息中,消息体应如下所示:

5\r\n
x=FOO\r\n
0\r\n
\r\n
在整个请求中,它应该如下所示:

POST/HTTP/1.1
主持人:example.com
传输编码:分块
5.
x=FOO
0
我写了自己的生成器,想问问这是否是正确的方法。您可以在下面的代码片段中看到它

def生成器():
var1=“5\r\n”
var2=“x=FOO\r\n”
var3=“0\r\n\r\n”
x=var1.encode('utf8')
y=var2.encode('utf8')
z=var3.encode('utf8')
产量x
产量y
屈服强度z
url='1〕https://example.com'
headers={'User-Agent':'Mozilla/5.0(Windows NT 10.0;Win64;x64;rv:71.0)Gecko/20100101 Firefox/71.0',
“连接”:“保持活动状态”,“内容类型”:“应用程序/x-www-form-urlencoded”,
“传输编码”:“分块”}
response=requests.post(url=url,data=generator(),headers=headers)

免责声明:我不希望我的生成器自动生成消息的分块编码,我希望发送一个带有特定分块编码消息的请求,如上图所示。

您可以
打印(list(response.request.body))
将生成器转换为列表吗?然后我会收到两个方括号([])作为我程序的输出。