有效负载请求编码

2024-10-01 07:34:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我用请求来假装firefox和fiddler,我看到头是一样的,但SystaxView不一样

payload = {'searchType':'U'}
s.post(url,data=payload)

但是我得到了错误500,从语法视图来看,我在请求中看到它将变为searchType=U 但真正的浏览器将输出searchType='U'。在

我尝试了payload = {'searchType':'\'U\''}在语法视图中它将变成searchType=%27U%27。在

有什么想法吗?我只发现1个差异,所以我怀疑它会触发500个错误。在

^{pr2}$

Tags: 视图urldata错误语法浏览器差异firefox
3条回答

如果您要发送的值是'U',这可能有助于您正确地发送它。在

payload = {'searchType': "'U'"}
s.post(url,data=payload)

编辑:

我认为你不需要提出邮寄请求。尝试发出get请求:

^{pr2}$

代码没有问题,看起来你的url/服务器有问题,。。我和邮递员核对过了看起来像this picture

你试过另一种方法来做POST-payload吗?(例如:Postman或PHP POST方法)

如果您的服务器以json格式处理post有效负载,请首先将有效负载格式化为json。在

import requests
import json

url = "http://someurl.com/"

# format for json payload
def post(url, param):
       payload = json.dumps(param)
       payload = payload.replace(", ", ",")
       payload = payload.replace("{", "{\n\t")
       payload = payload.replace("\",", "\",\n\t")
       payload = payload.replace("}", "\n}")
       return response = requests.request("POST", url, data=payload)

payloads = dict(searchType ='U')
response = post(url, payloads)
print(response.response.text)

相关问题 更多 >