python - 如何在python中处理GET请求
问题描述
我有一些在 Kubernetes 中运行的微服务,它们需要相互传递一些数据,但是我无法处理来自服务器端的 GET 请求。
我发现的文档非常关注如何在 python 上发出 GET 请求,而不是如何处理它。
所以,这就是我尝试过的:
from flask import Flask
from flask import request
import requests
app = Flask(__name__)
@app.route('/<trace_id>')
def root():
return trace_id
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8080, debug=True)
从客户端,我做这样的请求:
>>> trace_id = '54b012b2767e7b21321ca649872913c5'
>>> requests.get('http://my-service', params=trace_id)
<Response [404]>
在我的服务器上,我得到了这个转储:
/# python3 app.py
* Serving Flask app "app" (lazy loading)
...
10.52.2.29 - - [29/Nov/2019 18:41:23] "GET /?54b012b2767e7b21321ca649872913c5 HTTP/1.1" 404 -
我想知道如何处理服务器端的请求。此外,很高兴获得一些关于处理此问题的最佳方法的建议。
注意:服务器前面有一个k8s服务,获取80端口的请求,转发到8080。
解决方案
您需要trace_id
作为输入参数传递
def root(trace_id):
return trace_id
trace_id 是 url 的一部分,而不是查询部分:
requests.get('http://my-service/' + trace_id)
推荐阅读
- ios - AVMutableComposition 调整大小问题
- c++ - 是否可以覆盖 boost::bimaps::bimap.left 的“查找”和“擦除”方法?怎么做?
- python - Scipy.Optimize.Minimize 动态约束问题
- solr - 为什么我们应该在单独的 DC 中运行 dse search
- java - 为什么我的消息在 Java 套接字服务器中只发送一次?
- javascript - 解密 RSA 数据时出现 DOMException
- react-native - 如何在 React Native 中使用 Animated 将宽度设置为自动
- arangodb - ArangoDB 损坏坏表幻数
- node.js - npm run 弹出后出错
- architecture - Api 网关职责:良好实践(授权、请求转换)