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

requests 库最佳实践速查表

一、基本用法

1.发送 GET 请求
import requestsresponse = requests.get("https://example.com/api")
2.发送 POST 请求
import requestsresponse = requests.post("https://example.com/api", json={"param": "value"})
  • json=... 自动帮你加上 Content-Type: application/json 头。

  • 如果用 data=... 则默认发表单数据(application/x-www-form-urlencoded)。

二、处理响应内容

目标代码说明
读取文本响应response.text纯文本(str)
读取JSON响应response.json()自动解析成python字典
读取二进制文件(音频、图片等)response.content原始字节流

三、设置请求头(headers)

import requestsheaders = {# "Authorization": "Bearer 你的AP请求头键	作用# Authorization	身份验证:告诉 fal.ai 你是谁,验证你有权限使用这个模型。I密钥"# Bearer 是一种标准的认证类型,意思是你在这里携带了一个访问令牌(Token)。"Authorization": f"Bearer {API_KEY}","Content-Type": "application/json"
}
response = requests.get(url, headers=headers)

四、处理异常(important)

import requeststry:response = requests.post(url, json=data, headers=headers)response.raise_for_status()  # 检查是否返回错误状态码data = response.json()
except requests.exceptions.HTTPError as e:print("HTTP 错误:", e)
except requests.exceptions.RequestException as e:print("请求失败:", e)

五、文件下载完整模板

1.下载并保存文件(适合音频、图片、视频)
import requestsurl = "https://example.com/file.wav"
response = requests.get(url)
with open("file.wav", "wb") as f:f.write(response.content)
2.较大文件分块下载(大文件)
import requestswith requests.get(url, stream=True) as r:r.raise_for_status()with open("file.wav", "wb") as f:for chunk in r.iter_content(chunk_size=8192):f.write(chunk)

六、常用参数

参数说明示例
timeout请求超时requests.get(url, timeout=5)
verify关闭 SSL 证书验证(不安全,慎用)verify=False
proxies使用代理proxies={'http': 'http://proxy.com:8080'}

七、小技巧:封装通用函数

def api_post(url, data, headers=None):try:response = requests.post(url, json=data, headers=headers)response.raise_for_status()return response.json()except requests.exceptions.RequestException as e:print("请求失败:", e)return None

所有API都可以同意用这个调用(前提是用requests调用的,SDK另外写)

http://www.lqws.cn/news/476443.html

相关文章:

  • DeepSeek13-open-webui Pipelines编写和部署
  • Ubuntu20.04通过ssh协议配置远程终端
  • 测试模板x
  • WebRTC(七):媒体能力协商
  • MATLAB GUI界面设计 第一章——初识APP Designer
  • 跨域问题说明
  • MaxStateSuper模型详解与实现
  • langchain从入门到精通(十三)——Runnable组件
  • Java面试复习:Java基础、OOP与并发编程精要
  • synchronized 关键字深度解析
  • SAP顾问职位汇总(第25周)
  • SAP金属行业解决方案:无锡哲讯科技助力企业数字化转型与高效运营
  • Vui:轻量级语音对话模型整合包,让交互更自然
  • Python 包管理新选择:全面了解 uv(附 Conda 对比)
  • 931、下降路径最小和
  • 硬件面经-具身机器人通用技术要求
  • Flink SQL Connector Kafka 核心参数全解析与实战指南
  • vue3 el-table 行字体颜色 根据字段改变
  • Flink SourceFunction深度解析:数据输入的起点与奥秘
  • Flink作业三种部署模式:架构、配置与实战应用
  • C++主要知识点详解(引用,内联函数)
  • webpack+vite前端构建工具 - 8 代码分割
  • 生成器函数概念与用法详解
  • 【Clickhouse系列】增删改查:对比mysql
  • Clickhouse官方文档学习笔记
  • FastAPI 入门教程 #06:FastAPI 请求体和数据模型
  • 从零理解鱼眼相机的标定与矫正(含 OpenCV 代码与原理讲解)
  • PostgreSQL全栈部署指南:从零构建企业级高可用数据库集群
  • React Next快速搭建前后端全栈项目并部署至Vercel
  • 《DeepSeek原生应用与智能体开发实践》案例重现