gpt4 book ai didi

python - 使用 Python 发送和解析 HTTP POST 请求

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:00 25 4
gpt4 key购买 nike

有人能告诉我这个简单的服务器设置出了什么问题吗?它基于与 this question 中相同的代码并且可能是一个类似的问题 - 但我需要一个 POST 请求而不是 GET,这是另一个问题的最终解决方案?问题是当我预期 {'verify': 'true'}self.args 是空的。

这是我的 POST 请求:

import requests

url = 'http://localhost:8080/'
data = {'verify': 'true'}
response = requests.post(url, params=data)

print response.text

以及在本地主机上运行的处理程序:

class MyHandler(BaseHTTPRequestHandler):
def do_POST(self):
self.query_string = self.rfile.read(int(self.headers['Content-Length']))
self.args = dict(cgi.parse_qsl(self.query_string))
self.send_response(200)
self.end_headers()
self.wfile.write("Content-type: text/html<BR><BR>");
self.wfile.write("<HTML>POST OK.<BR><BR>");

def main():
server = HTTPServer(('', 8080), MyHandler)
server.serve_forever()

if __name__ == '__main__':
main()

处理程序正在输出 Jamie-PC - - [15/Jul/2013 12:40:34] "POST/?verify=true HTTP/1.1"200 - 以防有帮助。

最佳答案

您可能需要使用 data 而不是 params,如:

import requests

url = 'http://localhost:8080/'
data = {'verify': 'true'}
response = requests.post(url, data=data)

print response.text

这会设置所有其他必要的 header ,例如内容长度。

关于python - 使用 Python 发送和解析 HTTP POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17654169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com