周五下午,作为小白太痛苦了,这两天一直在做一件事,如下:
使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()传递过去的信息
到此这篇关于Python接口传输url与flask数据详解的文章就介绍到这了,更多相关Python传输url与flask内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!