【 ⑪】requests库概述(GET和POST请求)

简介: 【 ⑪】requests库概述(GET和POST请求)

1 requests库简介

requests 是一个用于发送 HTTP 请求的流行 Python 库。它提供了简洁而直观的 API,使得与 Web 服务进行交互变得非常方便。requests 库可以完成多种 HTTP 请求操作,如发送 GET、POST、PUT、DELETE 等请求,设置请求头、处理响应以及会话管理等功能。

下面是 requests 库的一些主要特点和功能:

  • 简洁易用:requests 的 API 设计非常简单易懂,上手容易,使用它可以轻松地发送 HTTP 请求、处理响应等操作。
  • 支持多种请求方式:requests 支持发送多种类型的 HTTP 请求,包括 GET、POST、PUT、DELETE 等,并且支持自定义请求头、请求参数、请求体等。
  • 会话管理requests.Session 类提供了会话管理功能,可以在多个请求之间保持会话状态,例如保持登录状态、传递 cookie 等。
  • 强大的响应处理能力:requests 可以方便地处理各种类型的响应结果,包括文本、JSON、图片、文件等,还支持响应的编码和解码。
  • 完善的错误处理机制:requests 对网络请求中可能出现的异常情况进行了处理,如超时、连接错误等,同时提供了对 HTTP 错误状态码的处理功能。

与其他库一样,如需要安装requests库,使用一下命令即可

pip install requests

2 发送GET请求

使用 requests 库发送 GET 请求非常简单,只需要调用 requests.get() 方法,并传入目标 URL 即可。

import requests
# 发送 GET 请求
url = 'https://api.example.com/users'
response = requests.get(url)
# 检查响应状态码
if response.status_code == 200:
    # 获取响应内容(文本格式)
    content = response.text
    print(f'Response content: {content}')
else:
    print('Failed to retrieve data. Status code:', response.status_code)

在上述示例代码中,我们使用了 requests.get() 方法来发送 GET 请求,并指定目标 URL 为 'https://api.example.com/users'。接着,我们通过检查 response 对象的 status_code 属性来判断请求是否成功(200 表示成功)。如果成功,我们可以通过 response.text 来获取响应内容,并将其打印出来。如果请求失败,则打印相应的错误信息和状态码。

注意:在实际应用中,可能需要更多的参数来发送 GET 请求,例如请求头、请求参数等。requests 库提供了丰富的选项来满足不同场景的需求,可以根据具体情况进行相应的设置。


3 发送POST请求

使用 requests 库发送 POST 请求同样非常简单,需要调用 requests.post() 方法,并传入目标 URL 和请求数据即可。

import requests
# 发送 POST 请求
url = 'https://api.example.com/users'
data = {'name': 'John', 'age': 25}
response = requests.post(url, data=data)
# 检查响应状态码
if response.status_code == 200:
    # 获取响应内容(文本格式)
    content = response.text
    print(f'Response content: {content}')
else:
    print('Failed to submit data. Status code:', response.status_code)

在上述示例代码中,我们使用了 requests.post() 方法来发送 POST 请求,并指定目标 URL 为 'https://api.example.com/users'。其中,data 是一个字典,包含了需要发送给服务器的数据。

接下来,我们使用 response 对象的 status_code 属性来检查请求是否成功(200 表示成功)。如果成功,我们可以通过 response.text 来获取响应内容,并将其打印出来。如果请求失败,则打印相应的错误信息和状态码。


4 参数传递

在使用 requests 库发送请求时,你可以通过参数来传递额外的信息,例如请求头、请求参数、认证凭据等。

  1. headers:用于设置请求头,包含了请求的元数据信息,如 User-Agent、Content-Type 等。
  2. params:用于传递查询字符串参数,将参数附加到 URL 上。
  3. data:用于传递表单数据或请求体数据,常用于 POST 请求。
  4. json:用于传递 JSON 数据,常用于 POST 请求。
  5. auth:用于进行身份验证,支持多种验证方式,如基本身份验证 (Basic Authentication)、摘要身份验证 (Digest Authentication) 等。

示例代码

import requests
# 设置请求头
headers = {'User-Agent': 'Mozilla/5.0'}
url = 'https://api.example.com/users'
params = {'page': 1}
data = {'name': 'John', 'age': 25}
json_data = {'name': 'John', 'age': 25}
auth = ('username', 'password')
# 发送 GET 请求(带请求头和查询字符串参数)
response = requests.get(url, headers=headers, params=params)
# 发送 POST 请求(带请求头和表单数据)
response = requests.post(url, headers=headers, data=data)
# 发送 POST 请求(带请求头和 JSON 数据)
response = requests.post(url, headers=headers, json=json_data)
# 发送带身份验证的请求
response = requests.get(url, auth=auth)

在上述示例代码中,我们使用了不同的参数来发送请求。通过传递 headers 参数可以设置请求头,传递 params 参数可以将查询字符串参数附加到 URL 上,传递 data 参数可以传递表单数据或请求体数据,传递 json 参数可以传递 JSON 数据,传递 auth 参数可以进行身份验证。

另外,可以参考官方文档或库的文档来了解更多参数细节和使用方法。

相关文章
|
3月前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
86 8
|
5月前
|
存储 运维 Java
函数计算产品使用问题之如何使用Python的requests库向HTTP服务器发送GET请求
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
108 8
|
6月前
|
JSON 数据格式 Python
Python 的 requests 库是一个强大的 HTTP 客户端库,用于发送各种类型的 HTTP 请求
【6月更文挑战第15天】Python的requests库简化了HTTP请求。安装后,使用`requests.get()`发送GET请求,检查`status_code`为200表示成功。类似地,`requests.post()`用于POST请求,需提供JSON数据和`Content-Type`头。
62 6
|
6月前
|
JSON API 数据格式
如何用 Python 的 requests 库发送 JSON 数据的 POST 请求
使用 requests 库发送 JSON 数据的 POST 请求是一个非常简单且实用的操作。通过将目标 URL 和 JSON 数据传递给 requests.post 方法,你可以轻松发送请求并处理响应。本篇文章介绍了从安装 requests 库,到发送 JSON 数据的 POST 请求,再到处理响应的整个流程。希望这篇文章能帮助你更好地理解并应用这个强大的 HTTP 请求库。
|
6月前
|
JSON API 数据格式
Requests库:轻松实现Python中的HTTP请求
Requests是Python的第三方HTTP库,简化了HTTP请求的发送,支持GET、POST等方法。要安装,使用`pip install requests`。Requests以其简洁API和强大功能成为网络编程首选工具,为开发者提供高效稳定的网络交互体验。
198 5
|
存储 网络协议 开发者
【 ⑫】requests库概述(文件上传、cookies处理、状态码处理、异常处理等)
【 ⑫】requests库概述(文件上传、cookies处理、状态码处理、异常处理等)
145 0
|
7月前
|
JSON API 数据格式
使用Python的`requests`库进行HTTP请求
【4月更文挑战第12天】在Python中,`requests`库是发送HTTP请求的一个非常流行的工具。它提供了简单且强大的API,使得开发者能够轻松地与RESTful API或其他网络服务进行交互。本文将介绍如何使用`requests`库进行基本的HTTP请求,包括GET、POST等请求方法,以及如何处理响应和异常。
|
7月前
|
JSON 数据格式 Python
如何使用 Python 中的`requests`库发送 HTTP 请求?
【2月更文挑战第21天】【2月更文挑战第66篇】如何使用 Python 中的`requests`库发送 HTTP 请求?
111 2
|
7月前
|
API Python
Python 工具和库:如何使用 requests 库发送 HTTP 请求?
Python 工具和库:如何使用 requests 库发送 HTTP 请求?
81 0
|
JSON 数据格式 Python
【从零学习python 】92.使用Python的requests库发送HTTP请求和处理响应
【从零学习python 】92.使用Python的requests库发送HTTP请求和处理响应
156 1