亲宝软件园·资讯

展开

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()传递过去的信息

加载全部内容

相关教程
猜你喜欢
用户评论