gpt4 book ai didi

python-3.x - Python HTTPServer 响应 curl 但不响应 Postman GET 请求

转载 作者:行者123 更新时间:2023-12-04 15:46:49 24 4
gpt4 key购买 nike

考虑使用模块 BaseHTTPRequestHandler 编写的 Python3 中的简单服务器。

import json
import urllib.parse
from http.server import BaseHTTPRequestHandler, HTTPServer
import bson.json_util

class GetHandler(BaseHTTPRequestHandler):

def do_GET(self):
print("/n=================================")
json_string = '{"hello":"world"}'
self.wfile.write(json_string.encode())
self.send_response(200)
self.end_headers()
return

if __name__ == '__main__':
#from BaseHTTPServer import HTTPServer
server = HTTPServer(('localhost', 3030), GetHandler)
print ('Starting server, use <Ctrl-C> to stop')
server.serve_forever()

这是通过终端的 curl 正确响应:

curl -i http://localhost:3030/

但是,当尝试从 Postman 发送请求时,它没有响应。我尝试了 URL localhost:3030/http://localhost:3030/ 以及环回地址。

这是为什么?

最佳答案

在我看到的所有示例中,它都没有指定内容类型,所以我做了同样的事情,看到 curl 起作用了,我并没有太担心。

但是应该指定内容类型:在 self.wfile.write(...) 之前添加这些行可以解决问题:

self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()

请注意,实际上 self.send_response(200) 已被移动,而不是添加。

关于python-3.x - Python HTTPServer 响应 curl 但不响应 Postman GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55422328/

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