试图用python发送post请求,但不起作用

试图用python发送post请求,但不起作用,python,post,request,automated-deployment,Python,Post,Request,Automated Deployment,我从burp套件中截获了这个请求,我正在尝试使用python脚本将其自动化,以发送相同的post请求 我复制了所有的参数和标题,但它没有运行,并且显示了许多错误,这是我的代码: import json import requests headers = { "Host": "zefoy.com", "Connection": "close", "Content-Length&quo

我从burp套件中截获了这个请求,我正在尝试使用python脚本将其自动化,以发送相同的post请求 我复制了所有的参数和标题,但它没有运行,并且显示了许多错误,这是我的代码:

import json
import requests
headers = {

    "Host": "zefoy.com",
    "Connection": "close",
    "Content-Length": 165,
    "sec-ch-ua": " 'Not A;Brand';v='99', 'Chromium';v='90', 'Google Chrome';v='90' ",
    "X-Requested-With": "MLHttpRequest",
    "sec-ch-ua-mobile": "0",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36",
    "Content-Type": "multipart/form-data; boundary=----WebKitFormBoundaryHEOJpHz1H6CQRzKM",
    "Origin": "https://zefoy.com",
    "Sec-Fetch-Site": "Sec-Fetch-Site: ",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Dest": "empty",
    "Accept-Encoding": "gzip, deflate",
    "Accept-Language": "en,ar;q=0.9,en-US;q=0.8"
}
data =  " Cookie: __cfduid=d48c779b0ee1d5130af491e8a4229cb2d1619994598; PHPSESSID=fvf4tb72c2kifr5bcej2kpv932 ------WebKitFormBoundaryHEOJpHz1H6CQRzKM Content-Disposition: form-data; name='bf16968c49853c3' 6958925981625158913 ------WebKitFormBoundaryHEOJpHz1H6CQRzKM-- "
url = "http://zefoy.com/c2VuZC9mb2xsb3dlcnNfdGlrdG9V"

request = requests.post(url, headers=headers, data=data)
print(r.status_code, r.reason)
它显示了以下错误:

    return request('post', url, data=data, json=json, **kwargs)
  File "C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site-packages\requests\sessions.py", line 528, in request
    prep = self.prepare_request(req)
  File "C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site-packages\requests\sessions.py", line 456, in prepare_request
    p.prepare(
  File "C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site-packages\requests\models.py", line 317, in prepare
    self.prepare_headers(headers)
  File "C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site-packages\requests\models.py", line 451, in prepare_headers
    check_header_validity(header)
  File "C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site-packages\requests\utils.py", line 959, in check_header_validity
    raise InvalidHeader("Value for header {%s: %s} must be of type str or "
requests.exceptions.InvalidHeader: Value for header {Content-Length: 165} must be of type str or bytes, not <class 'int'>
返回请求('post',url,data=data,json=json,**kwargs)
文件“C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site packages\requests\api.py”,第61行,在请求中
return session.request(method=method,url=url,**kwargs)
文件“C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site packages\requests\sessions.py”,请求中第528行
准备=自我准备请求(req)
文件“C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site packages\requests\sessions.py”,第456行,在prepare\u请求中
p、 预备(
文件“C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site packages\requests\models.py”,第317行,在prepare中
自我准备_标题(标题)
文件“C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site packages\requests\models.py”,第451行,在prepare\u标题中
检查标题的有效性(标题)
文件“C:\Users\Ahmed\PycharmProjects\pythonProject1\venv\lib\site packages\requests\utils.py”,第959行,在check\u header\u validity中
raise INVALIDGHEADER(“头{%s:%s}的值必须是str或
requests.exceptions.InvalidHeader:头{Content Length:165}的值必须是str或bytes类型,而不是

从您的错误被调用以检查您的标题['Content-Length'],您可以尝试将其更改为Int类型,如下所示:

"Content-Length": "165",
print(request.status_code, request.reason)
在print()函数中要注意对象r,您仍然没有将其声明为请求,因此可以这样打印()

"Content-Length": "165",
print(request.status_code, request.reason)
在代码的最后一行


请随意评论我。

标题值必须是字符串。您需要
“165”
在那里您甚至不应该设置
内容长度
,因为
重新请求将为您完成此操作。