Python传输url与flask
weixin_42466834 人气:0周五下午,作为小白太痛苦了,这两天一直在做一件事,如下:
使flask接口中的函数执行的同时,向指定的url传递数据(我甚至不知道怎么描述这个问题)。大概的函数结构使这样的:
app1 = Flask('app1') @app1.route('/', methods=["POST"]) def pic(): data = request.get_data() # 获取参数字典 # func1在执行过程中会保存图并对图片进行处理 # *需求是在func1把图保存后立即向指定的url传输图片路径 # 在这里真的难到我了 func1() return "111" if __name__ == '__main__': app3.run(host='0.0.0.0', port=1000)
我的解决思路:
看了很多的博客教程之后,发现request.post(url,data)可以向url发送带数据的请求,这是不是就能将数据传给url?
所以我写了个服务,如下:
功能为获取数据,打印数据,返回成功提示。然后保持这个url处于可连接状态(也就是run一下?)。
from flask import Flask,request # ............service3............... app2 = Flask('app2') @app2.route('/', methods=["POST"]) def pic(): data = request.get_data() print(data,type(data)) return "获取数据成功" if __name__ == '__main__': app3.run(host='0.0.0.0', port=4000)
显示
遇到一个问题,就是request.get_data()和request.get_json()的区别,在这里记一下:
get_data():
是以数据的格式进行获取,如果你传输的是一个标准的json,那他依然是个json格式;
get_json():
他只能去解析json格式的传递参数
然后我就开始测试能不能向指定url发送数据了!写了如下代码:
myobj中为我要向url发送的数据
import requests import json # 表单参数,参数名为 fname 和 lname myobj = {'fname': 'www','lname': 'qqq'} # 发送请求 x = requests.post('http://127.0.0.1:4000/', data = json.dumps(myobj)) # 返回网页内容 print(x.text)
同样run一下,显示:说明数据传输给了url
再看上一个文件的提示:url这边成功的打印了通过requests.post()传递过去的信息
加载全部内容