通过接口传输数据url,flask

周五下午,作为小白太痛苦了,这两天一直在做一件事,如下:
使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
再看上一个文件的提示:url这边成功的打印了通过requests.post()传递过去的信息
url这边成功的打印了通过requests.post()传递过去的信息

到这里告一段落,暂时我也就这水平,一个函数的事搞了这么久,还不知道自己做的对不对,postman也不知道怎么测试,哎

求大佬指点!
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的HTTP接口数据传输的范例: 1. 客户端发送请求: 客户端使用HTTP协议向服务器发送请求,请求的内容包括请求方法、请求头、请求体等信息。例如,可以使用Python requests模块向服务器发送一个GET请求,请求地址为http://www.example.com/api/data,请求头中包含了一些自定义的参数: ```python import requests url = "http://www.example.com/api/data" headers = {"X-Custom-Header": "custom_value"} response = requests.get(url, headers=headers) ``` 2. 服务器接收请求: 服务器收到客户端的请求后,根据请求方法和请求地址等信息进行处理。例如,对于上面的GET请求,服务器可以使用Python Flask框架处理请求,代码如下: ```python from flask import Flask, request, jsonify app = Flask(__name__) @app.route("/api/data", methods=["GET"]) def get_data(): custom_header = request.headers.get("X-Custom-Header") # TODO: 在这里根据请求参数获取数据并进行处理 data = {"message": "Hello, world!"} return jsonify(data) if __name__ == "__main__": app.run() ``` 在上面的代码中,使用了Flask框架创建了一个API接口,当接收到GET请求时,会从请求头中获取自定义参数X-Custom-Header的值,并返回一个JSON格式的响应数据。 3. 服务器发送响应: 服务器处理完请求后,会将处理结果封装成一个响应,包括响应状态码、响应头、响应体等信息,并发送给客户端。例如,在上面的代码中,服务器会将处理结果封装成一个JSON格式的响应,并发送给客户端: ```python response = jsonify(data) return response ``` 客户端接收到响应后,可以根据响应状态码和响应体等信息进行处理。例如,在上面的客户端代码中,使用了requests模块发送请求,并获取了服务器返回的响应数据: ```python response = requests.get(url, headers=headers) data = response.json() ``` 以上是一个简单的HTTP接口数据传输的范例,实际使用中需要根据具体的需求进行调整。需要注意的是,在实际开发中,需要考虑数据传输的安全性、可靠性和效率等方面的问题,例如使用HTTPS协议加密数据传输、进行请求参数和响应数据的校验和过滤等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值