Python requests 完整使用教程(从入门到企业级用法) 📅 发布时间:2026/7/5 12:46:12 👁️ 浏览次数: requests是 Python 最常用的 HTTP 客户端库以“简单、优雅”著称。它封装了底层的urllib3让你用非常 Pythonic 的方式发送 HTTP 请求。1. 安装pip install requests2. 基本用法 GET 请求import requests url https://httpbin.org/get params {q: python, page: 1} resp requests.get(url, paramsparams) print(resp.status_code) print(resp.json())要点params会自动拼接到 URL 上resp.json()自动解析 JSON POST 请求表单data {username: doudou, password: 123456} resp requests.post(https://httpbin.org/post, datadata) print(resp.json()) POST 请求JSONpayload {name: doudou, age: 18} resp requests.post(https://httpbin.org/post, jsonpayload) print(resp.json())json会自动设置Content-Type: application/json3. 常用参数 Headersheaders { User-Agent: Mozilla/5.0, Authorization: Bearer xxx } resp requests.get(url, headersheaders) Cookiescookies {sessionid: abcd1234} resp requests.get(url, cookiescookies) 超时 timeout强烈建议生产环境必须加resp requests.get(url, timeout5)timeout5表示最多等待 5 秒不加 timeout 会导致程序卡死 禁用 SSL 证书验证不推荐resp requests.get(url, verifyFalse)4. 上传文件files { file: (test.txt, open(test.txt, rb), text/plain) } resp requests.post(https://httpbin.org/post, filesfiles) print(resp.json())5. 下载文件流式resp requests.get(url, streamTrue) with open(image.png, wb) as f: for chunk in resp.iter_content(chunk_size1024): f.write(chunk)6. Session 会话保持 Cookie、Header企业级项目中非常常用。session requests.Session() session.headers.update({User-Agent: Mozilla/5.0}) # 第一次请求会保存 cookie session.get(https://httpbin.org/cookies/set/sessionid/123456) # 第二次请求自动带 cookie resp session.get(https://httpbin.org/cookies) print(resp.json())7. 处理响应resp requests.get(url) resp.status_code # 状态码 resp.text # 文本内容 resp.content # 二进制内容 resp.json() # JSON resp.headers # 响应头 resp.cookies # Cookie8. 错误处理企业级必备import requests try: resp requests.get(url, timeout5) resp.raise_for_status() # 自动抛出 4xx/5xx 错误 except requests.exceptions.Timeout: print(请求超时) except requests.exceptions.HTTPError as e: print(HTTP 错误:, e) except requests.exceptions.RequestException as e: print(请求失败:, e)9. 代理常用于爬虫或企业内网proxies { http: http://127.0.0.1:7890, https: http://127.0.0.1:7890, } resp requests.get(url, proxiesproxies)10. 企业级最佳实践你会喜欢✔ 必须设置 timeout避免接口挂死导致线程阻塞。✔ 使用 Session 复用连接减少 TCP 握手提高性能。✔ 使用raise_for_status()自动捕获 4xx/5xx。✔ 日志记录请求与响应方便排查问题。✔ 对外部 API 做重试机制可结合urllib3.util.retry。11. 完整企业级请求封装示例import requests class HttpClient: def __init__(self, base_url): self.session requests.Session() self.base_url base_url self.session.headers.update({ User-Agent: Mozilla/5.0, Accept: application/json }) def request(self, method, path, **kwargs): url self.base_url path try: resp self.session.request(method, url, timeout5, **kwargs) resp.raise_for_status() return resp.json() except requests.exceptions.RequestException as e: print(请求失败:, e) return None client HttpClient(https://httpbin.org) print(client.request(GET, /get, params{a: 1}))这段代码可以直接用于企业项目。
导师推荐 9个降AI率网站测评:自考降AI率必备工具全解析 在当前的学术写作环境中,AI生成内容(AIGC)已经成为许多学生和研究者不得不面对的挑战。尤其是自考群体,在完成论文写作时,往往需要兼顾内容质量与查重率的控制。如何在不破坏原文语义的前提下,有效降低AI痕… 2026/7/5 1:48:13
Docker核心概念与架构 Docker 核心概念与架构详解 Docker 是一个开源的容器化平台,用于自动化应用程序的部署、扩展和管理。它通过将应用程序及其依赖打包成容器,实现“一次构建,到处运行”的目标。Docker 基于 Linux 内核的容器技术(如 Namespaces 和… 2026/5/17 9:28:24
必收藏!未来5年程序员最优发展方向,AI大模型才是核心出路 不夸张地说,对于程序员而言,未来5年最值得深耕、最有前景的技术发展方向,毫无疑问是AI大模型!无论是刚入门的编程小白,还是深耕多年的资深开发者,抓住这波风口,就能实现职业跃迁。 先给大家看几… 2026/7/4 11:09:20
对于陌生平台和软件,把握的思路 这里还要讲一个东西 其实在现代 有一个门槛,一直没人说 就是普通人看不懂复杂的软件工具,和网页平台 其实,我有疑惑的 为什么这些东西创造者,完全不在乎用户能否理解 可能公司考核指标不一样吧 商业化,利润者一块&… 2026/7/5 12:43:53
如何3分钟为Android Studio安装中文语言包:完整界面汉化终极指南 如何3分钟为Android Studio安装中文语言包:完整界面汉化终极指南 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack 你是… 2026/7/5 12:39:52
图像识别进阶——基于迁移学习的天气分类实战 1. 迁移学习在天气分类中的优势天气图像分类是计算机视觉中一个非常实用的应用场景。想象一下,如果你正在开发一款户外运动APP,能够通过手机摄像头实时识别当前天气状况,给用户提供穿衣建议或活动推荐,那该有多酷!但现… 2026/7/5 12:39:52
YOLO小目标检测优化:Wise-IoU损失函数实战 1. 为什么小目标检测总是定位不准?在目标检测领域,YOLO系列算法因其速度和精度的平衡而广受欢迎。但当我们处理小目标检测任务时,经常会遇到一个令人头疼的问题——检测框定位不准。这个问题在无人机航拍、医学影像分析、工业质检等场景尤为突… 2026/7/5 12:37:52
OpenCV 4.9.0 图像分割实战:Python 实现 3 种边缘检测算法对比 OpenCV 4.9.0 图像分割实战:Python 实现 3 种边缘检测算法对比边缘检测是计算机视觉中最基础且关键的技术之一,它能有效提取图像中的结构信息,为后续的目标识别、场景理解等任务奠定基础。本文将基于 OpenCV 4.9.0,通过 Python 代… 2026/7/5 12:37:52
4-20mA电流环工业应用与STM32+XTR116设计详解 1. 4-20mA电流环标准与工业应用背景在工业自动化领域,4-20mA电流环传输堪称模拟信号传输的"黄金标准"。这种传输方式之所以能历经数十年而不衰,核心在于其独特的抗干扰特性——电流信号在长距离传输时不受线路电阻变化影响,且能通过… 2026/7/5 12:35:51
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36