python实现web请求与回复

06-01 1021阅读

一、作为客户端发送请求(使用requests库)

import

 requests

# 发送GET请求

response 

= requests.get("https://api.example.com/data")

print("GET响应状态码:", response.status_code)

print("GET响应内容:", response.text)

# 发送带参数的GET请求

params 

= {"key1": "value1", "key2": "value2"}

response 

= requests.get("https://api.example.com/data", params=params)

# 发送POST请求(表单数据)

data 

python实现web请求与回复
(图片来源网络,侵删)

= {"username": "admin", "password": "secret"}

response 

python实现web请求与回复
(图片来源网络,侵删)

= requests.post("https://api.example.com/login", data=data)

# 发送POST请求(JSON数据)

python实现web请求与回复
(图片来源网络,侵删)

json_data 

= {"name": "Alice", "age": 30}

response 

= requests.post("https://api.example.com/users", json=json_data)

# 处理响应

if response.status_code == 200:

    print("POST响应JSON:", response.json())

else:

    print("请求失败,状态码:", response.status_code)

安装requests库:

pip install requests

二、作为服务端接收请求(使用Flask框架)

from flask import Flask, request,

 jsonify

app 

= Flask(__name__)

# 处理GET请求

@app.route('/')

def home():

    return "Welcome to the Python Web Server!"

# 处理带路径参数的GET请求

@app.route('/user/')

def show_user(username):

    return f"User: {username}"

# 处理POST请求(表单数据)

@app.route('/login', methods=['POST'])

def login():

    username 

= request.form.get('username')

    password 

= request.form.get('password')

    return f"Received: {username}/{password}"

# 处理POST请求(JSON数据)

@app.route('/api', methods=['POST'])

def handle_json():

    data 

= request.

json

    return jsonify({"received_data": data})

if __name__ == '__main__':

    app

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

安装Flask库:

pip install flask

三、完整示例流程

1. 启动服务端(保存为server.py)

from flask import Flask, request,

 jsonify

app 

= Flask(__name__)

@app.route('/api', methods=['POST'])

def handle_api():

    req_data 

= request.

json

    return jsonify({

        "status": "success",

        "received": req_data,

        "message": "Data processed successfully"

    })

if __name__ == '__main__':

    app

.run(port=5000)

2. 客户端脚本(保存为client.py)

import

 requests

import

 json

response 

= requests.post(

    "http://localhost:5000/api",

    json

={"name": "John", "action": "update"}

)

print("Status Code:", response.status_code)

print("Response Body:", json.dumps(response.json(), indent=2))

3. 运行流程

# 第一个终端窗口

python server.py

# 第二个终端窗口

python client.py

四、关键点说明

1. 客户端常用功能:

• requests.get()/requests.post() 发送请求

• params 参数添加URL参数

• data 发送表单数据

• json 发送JSON数据

• response.text 获取文本响应

• response.json() 解析JSON响应

2. 服务端关键功能:

• @app.route() 定义路由

• request.form 获取表单数据

• request.json 获取JSON数据

• jsonify() 返回JSON响应

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码