news 2026/4/18 1:53:52

学会Requests库,就学会了Python接口自动化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
学会Requests库,就学会了Python接口自动化

在 Python 中进行网络请求是日常开发中的一个常见任务,而 requests 库是处理这类任务的一种强大工 具。requests 提供了简单而灵活的接口,使得发送 HTTP 请求和处理响应变得非常容易。在这篇文章中,我们将深入研究如何使用 requests 库执行各种网络请求,处理响应以及利用一些高级功能

01 安装 Requests

首先,确保你已经安装了 requests 库。如果没有安装,可以使用以下命令:

pip install requests

02 发送 GET 请求

requests 库的最基本用法之一就是发送 GET 请求。下面是一个简单的例子:

  1. import requests

  2. url = 'https://www.example.com'

  3. response = requests.get(url)

  4. print(f"Status Code: {response.status_code}")

  5. print("Response Content:")

  6. print(response.text)

在这个例子中,我们使用 requests.get() 函数发送了一个 GET 请求,并打印了响应的状态码和内容。response.text 包含了响应的文本内容。

03 发送带参数的 GET 请求

在实际应用中,我们通常需要向服务器发送一些参数。例如,在进行搜索时,可能需要将搜索关键字作为参数传递给服务器。下面是一个发送带参数的 GET 请求的例子:

  1. import requests

  2. url = 'https://www.example.com/search'

  3. params = {'q': 'python', 'page': 1}

  4. response = requests.get(url, params=params)

  5. print(f"Status Code: {response.status_code}")

  6. print("Response Content:")

  7. print(response.text)

在这个例子中,我们通过 params 参数传递了搜索关键字和页码。

04发送 POST 请求

使用 requests.post() 函数可以发送 POST 请求。POST 请求通常用于向服务器提交数据,比如登录信息或表单数据。

  1. import requests

  2. url = 'https://www.example.com/login'

  3. data = {'username': 'user', 'password': 'pass'}

  4. response = requests.post(url, data=data)

  5. print(f"Status Code: {response.status_code}")

  6. print("Response Content:")

  7. print(response.text)

在这个例子中,我们通过 data 参数传递了用户名和密码。

05 自定义请求头

有时,服务器可能需要特定的请求头信息。你可以通过设置 headers 参数来自定义请求头。

  1. import requests

  2. url = 'https://www.example.com'

  3. headers = {'User-Agent': 'my-app/1.0'}

  4. response = requests.get(url, headers=headers)

  5. print(f"Status Code: {response.status_code}")

  6. print("Response Content:")

  7. print(response.text)

在这个例子中,我们通过 headers 参数设置了一个自定义的 User-Agent 头部。

06 处理响应

requests 库使处理响应变得非常简单。你可以获取响应的状态码、头部信息和内容。下面是一个例子:

  1. import requests

  2. url = 'https://www.example.com'

  3. response = requests.get(url)

  4. print(f"Status Code: {response.status_code}")

  5. print("Headers:")

  6. print(response.headers)

  7. print("Response Content:")

  8. print(response.text)

通过 response.status_code 获取状态码,通过 response.headers 获取头部信息,通过 response.text 获取响应 内容。

07 处理 JSON 响应

如果服务器返回的是 JSON 格式的数据,requests 可以直接将其解析为 Python 对象。

  1. import requests

  2. url = 'https://api.example.com/data'

  3. response = requests.get(url)

  4. data = response.json()

  5. print("Parsed JSON Data:")

  6. print(data)

在这个例子中,response.json() 将响应的 JSON 内容解析为 Python 对象。

08 处理异常

在实际开发中,网络请求可能会失败或超时。requests 库允许你捕获并处理这些异常。

  1. import requests

  2. url = 'https://www.example.com'

  3. try:

  4. response = requests.get(url)

  5. response.raise_for_status() # 检查是否有错误的响应码

  6. except requests.exceptions.HTTPError as errh:

  7. print(f"HTTP Error: {errh}")

  8. except requests.exceptions.ConnectionError as errc:

  9. print(f"Error Connecting: {errc}")

  10. except requests.exceptions.Timeout as errt:

  11. print(f"Timeout Error: {errt}")

  12. except requests.exceptions.RequestException aserr:

  13. print(f"Error: {err}")

  14. else:

  15. print(f"Status Code: {response.status_code}")

  16. print("Response Content:")

  17. print(response.text)

在这个例子中,我们使用了 response.raise_for_status() 来检查是否有错误的响应码,并通过异常处理机制来捕获不同类型的异常。

09 使用 Session 进行持久性连接

requests 的 Session 对象允许你保持一个持久性连接,这对于执行多个相关请求非常有用,比如在登录之后执行其他操作

  1. import requests

  2. url = 'https://www.example.com'

  3. login_data = {'username': 'user', 'password': 'pass'}

  4. # 创建一个 Session 对象

  5. with requests.Session() as session:

  6. # 登录

  7. session.post('https://www.example.com/login', data=login_data)

  8. # 使用同一个 Session 对象进行后续请求

  9. response = session.get(url)

  10. print(f"Status Code: {response.status_code}")

  11. print("Response Content:")

  12. print(response.text)

在这个例子中,我们使用 requests.Session() 创建了一个 Session 对象,并在登录后的请求中使用了相同 的 Session 对象

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 9:33:54

为什么顶尖团队都在用Open-AutoGLM?本地部署细节首次披露

第一章:Open-AutoGLM 本地部署概述 Open-AutoGLM 是一个基于 AutoGLM 架构的开源自动化自然语言处理框架,支持在本地环境中部署并运行大语言模型推理任务。该框架具备模块化设计、低依赖性与高可扩展性,适用于科研实验与企业级应用集成。 环…

作者头像 李华
网站建设 2026/4/11 1:13:47

【Open-AutoGLM应用全景图】:揭秘支持的5大核心应用场景及落地实践

第一章:Open-AutoGLM应用全景概览Open-AutoGLM 是一个面向自动化自然语言处理任务的开源框架,专为大语言模型(LLM)推理与生成优化设计。其核心目标是降低开发者在构建、部署和调优 GLM 系列模型时的技术门槛,同时提升任…

作者头像 李华
网站建设 2026/4/15 16:36:23

探索人工势场法在船舶路径规划中的奇妙应用

人工势场法路径规划 可以找到碰撞点,复航点,计算船舶危险度,两船之间的距离,船的方向变化。在船舶航行的复杂世界里,路径规划犹如船只的“智慧大脑”,起着至关重要的作用。今天咱们就来深入聊聊人工势场法在…

作者头像 李华
网站建设 2026/4/11 11:33:19

企业级安全要求下如何完成Open-AutoGLM本地化落地?完整合规方案曝光

第一章:Open-AutoGLM本地化落地背景与合规挑战随着企业对数据隐私和系统自主可控要求的不断提升,大模型的本地化部署成为金融、政务、医疗等高敏感行业的必然选择。Open-AutoGLM作为开源的自动化生成语言模型,其灵活的架构支持私有化部署&…

作者头像 李华
网站建设 2026/4/12 21:57:12

收藏这份大模型行业报告!700亿市场规模下的学习机会与高薪岗位

中国大模型市场快速发展,2024年规模已达294亿元,预计2026年将突破700亿元。阿里、字节、科大讯飞等企业占据第一梯队,DeepSeek、智谱AI等新锐企业构成第二梯队。行业人才需求旺盛,字节跳动等企业大模型算法岗年薪可达百万级别&…

作者头像 李华
网站建设 2026/4/14 15:44:19

揭秘智谱Open-AutoGLM宣传视频下载全流程:5步搞定稀缺资源获取

第一章:揭秘智谱Open-AutoGLM宣传视频下载全流程:5步搞定稀缺资源获取在人工智能技术快速发展的背景下,智谱推出的Open-AutoGLM项目因其强大的自动化代码生成能力受到广泛关注。其官方宣传视频不仅展示了核心功能,还包含关键技术细…

作者头像 李华