flask post JSON 数据获取方式总结
2017-11-27 19:34
513 查看
服务端代码:
测试代码:
import base64 import io from keras.applications.resnet50 import ResNet50 from keras.preprocessing import image from keras.applications.resnet50 import preprocess_input, decode_predictions import numpy as np import urllib import json from flask import Flask from flask import request app = Flask(__name__) model = ResNet50(weights='imagenet') def picture_recognition_base64(img_base64): ret = [] img = io.BytesIO(base64.b64decode(img_base64)) img = image.load_img(img, target_size=(224, 224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) preds = model.predict(x) result = decode_predictions(preds, top=5)[0] for item in result: ret.append({'name': item[1], 'sim': str(item[2])}) return ret def picture_recognition(url): ret = [] img = io.BytesIO(urllib.request.urlopen(url).read()) img = image.load_img(img, target_size=(224, 224)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) preds = model.predict(x) result = decode_predictions(preds, top=5)[0] for item in result: ret.append({'name': item[1], 'sim': str(item[2])}) return ret @app.route('/url', methods=['GET', 'POST']) def route_url(): if request.method == 'POST': data = request.get_data() print(data) json_data = json.loads(data.decode("utf-8")) print(json_data) img_url = json_data.get("img_url") result = picture_recognition(img_url) print(json.dumps(result)) return json.dumps(result) @app.route('/base64', methods=['GET', 'POST']) def route_base64(): if request.method == 'POST': data = request.get_data() print(data) json_data = json.loads(data.decode("utf-8")) print(json_data) img_base64 = json_data.get("img_base64") result = picture_recognition_base64(img_base64) print(json.dumps(result)) return json.dumps(result) if __name__ == '__main__': app.run(host='0.0.0.0',port=22222, debug=False)
测试代码:
window cmd: curl -X post --data {\"img_url\":\"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=68222350,3999791223&fm=27&gp=0.jpg\"} http://172.0.0.1:22222/url linux shell: curl -X post --data '{"img_url":"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=68222350,3999791223&fm=27&gp=0.jpg"}' http://172.0.0.1:22222/url
相关文章推荐
- Python Web框架 flask post JSON数据获取方式总结
- python flask里 post请求,JSON数据获取方式总结
- 获取 request 中用POST方式"Content-type"是"application/json"发送的 json 数据
- 获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- (转)获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- Volley 重写源码,使用Post方式获取网络Json数据
- 获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- 获取前端post方式传过来的JSON格式的数据的代码
- 如何调用http接口获取json数据及GET/POST方式调用http接口
- IOS总结_IOS以post方式向PHP服务器端发送json数据请求
- 基于$.ajax()方法从服务器获取json数据的几种方式总结
- 获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- 使用xutils发送POST请求,携带json和图片二进制文件数据获取服务器端返回json数据
- 【转载】Fiddler进行模拟Post提交json数据,总为null解决方式
- Android HttpURLConnection(Get,Post方式)进行网络通信 获取数据和网络图片
- HttpURLconnection使用POST方式提交JSON数据给服务器
- java中form以post、get方式提交数据中文乱码问题总结
- Jsonp 方式跨域获取 json 数据原理
- Fiddler进行模拟Post提交json数据,总为null解决方式