Code前端首页关于Code前端联系我们

Python http 网络请求处理程序,只需使用 requests!

terry 2年前 (2023-09-24) 阅读数 66 #后端开发

环境

  • windows 10 64位
  • anaconda with python 3.7
  • requests 2.25.0

简介用于Python标准 的第三方库HTTP 请求。它将请求背后的复杂性抽象为一个漂亮、简单的API,这样您就可以专注于与服务交互并使用应用程序中的数据。

安装

使用pip安装

pip install requests

http请求格式

requests

requests

requests

requests

requests

方法分别不同方法请求匹配,例如 getpostdelete amp 代码等。 使用我们之前分享过烧瓶放松教程,先写一个后台程序

from flask import Flask, jsonify, request
from flask_restful import Api, Resource, reqparse


USERS = [
    {"name": "zhangsan"},
    {"name": "lisi"},
    {"name": "wangwu"},
    {"name": "zhaoliu"}
]

class Users(Resource):

    def get(self):
        return jsonify(USERS)

    def post(self):
        args = reqparse.RequestParser() \
            .add_argument('name', type=str, location='json', required=True, help="名字不能为空") \
            .parse_args()

        if args['name'] not in USERS:
            USERS.append({"name": args['name']})

        return jsonify(USERS)

    def delete(self):
        USERS = []
        return jsonify(USERS)


class UserId(Resource):
    
    def __init__(self):
        self.parser = reqparse.RequestParser()
        self.parser.add_argument('name', type=str)
        self.parser.add_argument('age', type=int)

    def get(self, userid):
        datas = self.parser.parse_args()
        
        return jsonify(
            {"name": USERS[int(userid)].get('name'), "age": datas.get('age')}
        )
    
    def post(self, userid):
        file = request.files['file']
        file.save('flask_file.txt')
        
        return jsonify({
            'msg' : 'success'
        })

app = Flask(__name__)
api = Api(app, default_mediatype="application/json")

api.add_resource(Users, '/users')
api.add_resource(UserId, '/user/<userid>')

app.run(host='0.0.0.0', port=5000, use_reloader=True, debug=True)

完成后,启动flask服务

Python http网络请求处理,用requests就对了!requests❀❀rstrget请求sget请求 运行结果如下

Python http网络请求处理,用requests就对了!requests

得到。操作结果如下所示。

Python http网络请求处理,用requests就对了!requests

我们再看一下帖子按要求提交文件示例

import requests

files = {'file': open('test.txt', 'rb')}

r = requests.post('http://127.0.0.1:5000/user/1', files=files)
print(r.json())
print(r.status_code)

运行结果如下P♝te最后看删除请求示例

import requests

r = requests.delete('http://127.0.0.1:5000/users')
print(r.json())
print(r.status_code)

驱动结果如下

Python http网络请求处理,用requests就对了!

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门