目录
1、get-post客户端、服务器端code demo
# coding=utf-8
import flask
import requests
data = {'query': u'急性化脓性牙髓炎能治好吗 如何治疗急性化脓性牙髓炎'}
# 客户端:get请求
r = requests.get("https://xxx.com/clf/predict",
params=data)
if r.status_code == 200
print r.text
# 服务器端:对get请求参数的解析
# 没有解析到query参数的话,设置默认为None
# text = flask.request.args.get('query', None)
# 客户端:post请求
# r = requests.post("https://xxx.com/clf/clf3_predict",
# json=data)
# print r.text
# 服务器端:对post请求参数的解析
# input_data = request.get_data(as_text=True)
# text = json.loads(input_data)["query"]
2、grequet并发请求
参考博文:
Python使用grequests并发发送请求 - 韩志超 - 博客园
个人踩坑
# coding=utf-8
import grequests
req_list = [
grequests.get(u"http:/xxxx.baidu.com:8259/xxxx/xxx?\
query={}&plan_name=department".format(text)),
grequests.post("https://127.0.0.1:8001/business_clf/predict",json=data)
]
res_list = grequests.map(req_list)
print(res_list[1].text)
# 踩坑点
# 1、请求本地接口,使用http前缀url,正常返回,而使用https前缀挂了?
# 2、通过flask启动一个app1,其中包含两个接口:/xxx_api/predict1,/xxx_api/predict2,
# 在接口app1的predict1中是无法调用app1的predict2服务的。需要另启一个app2来部署好predict2,
# 然后用app1的predict1来调用。
# coding=utf-8
import flask
app = flask.Flask(__name__)
service_prefix = "/business_clf"
@app.route(service_prefix + "/hello", methods=['GET', 'POST'])
def hello_world():
"""
测试使用
"""
return "welcome to business classification !!!"