Python脚本未发送请求参数

2024-03-29 09:24:28 发布

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

我正试图向我的服务器发送POST请求。已到达服务器。我可以看到,由服务器响应,但参数没有发送。 请求需要JSON对象中的参数。你知道吗

params = "{'spam': 1, 'eggs': 2, 'bacon': 0}"

c = httplib.HTTPConnection(host)
userAndPass = b64encode(b"username:password").decode("ascii")
headers = {'Authorization' : 'Basic %s' %  userAndPass }

c.request('POST',url, params, headers=headers)
res = c.getresponse()
data = res.read()  

print(data)

我已经检查了我的服务器功能,参数没有发送到那里。你知道吗


Tags: 对象服务器jsondata参数resparamsspam
2条回答

您没有正确访问服务器函数中的参数。你知道吗

要简单地查看发送到服务器的消息,只需在终端中使用nc命令运行一个简单的服务器:

nc -l -p 1234

然后执行代码并将请求发送到本地主机:1234您可以看到此消息已发送:

POST / HTTP/1.1
Host: localhost:1234
Accept-Encoding: identity
Content-Length: 34
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

{'spam': 1, 'eggs': 2, 'bacon': 0}

所以你的参数被发送了,但是你没有在你的服务器函数中以正确的方式访问它们。你知道吗

未设置正确的标头

headers = {'Content-Type':'application/json', 'Authorization' : 'Basic %s' %  userAndPass }

相关问题 更多 >