当前位置: 首页 > news >正文

python实现web请求与回复

一、作为客户端发送请求(使用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 
= {"username": "admin", "password": "secret"}
response 
= requests.post("https://api.example.com/login", data=data)

# 发送POST请求(JSON数据)
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/<username>')
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响应

http://www.xdnf.cn/news/581401.html

相关文章:

  • 水库大坝、坝肩混凝土面板变形及岸坡位移多断面多测点安全监测新途径——变焦视觉位移监测仪
  • 在线时间戳(Unix TimeStamp)转换器
  • 739. 每日温度
  • 单片机如何快速实现查看实时数据
  • [Git] 基本操作及用户配置
  • CSR矩阵 矩阵压缩
  • 深入探究C++11的核心特性
  • [Harmony]网络请求
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Live View Kit (3)
  • HarmonyOS NEXT~React Native 在鸿蒙系统上的应用与实践
  • 企业网站架构部署与优化第4章Nginx核心功能
  • Axios中POST、PUT、PATCH用法区别
  • 服务器硬盘分类
  • 小白的进阶之路系列之三----人工智能从初步到精通pytorch计算机视觉详解下
  • C# 使用 Source Generation 提升 System.Text.Json 性能
  • 职坐标嵌入式MCU/DSP与RTOS开发精讲
  • Android logcat命令汇总
  • Elasticsearch 写入性能优化有哪些常见手段?
  • c++11特性——lambda对象、包装器
  • Strands Agents:AWS开源Agent框架的技术与应用全景
  • MySQL 索引失效及其解决办法
  • 全面学习c++类与对象(中)(非常重要)(析构构造拷贝函数赋值运算符重载等等)
  • 养生攻略:五步打造健康生活
  • Three.js搭建小米SU7三维汽车实战(1)搭建开发环境
  • 腾讯云媒体AI解码全球视频出海智能密码
  • 替代云数据库的本地方案:MySQL+phpMyAdmin的远程管理与跨网络访问技术
  • Windows下PyCharm2025的运行卡顿的问题
  • 介绍一下 MVCC
  • 2025最新版Visual Studio Code for Mac安装使用指南
  • Spark入门秘籍