【 ⑪】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 参数可以进行身份验证。

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

相关文章
|
8月前
|
JSON 数据格式 Python
二、requests库的简单使用
二、requests库的简单使用
|
2天前
|
JSON 数据格式 Python
Python 的 requests 库是一个强大的 HTTP 客户端库,用于发送各种类型的 HTTP 请求
`requests` 库是 Python 中用于HTTP请求的强大工具。要开始使用,需通过 `pip install requests` 进行安装。发送GET请求可使用 `requests.get(url)`,而POST请求则需结合 `json.dumps(data)` 以JSON格式发送数据。PUT和DELETE请求类似,分别调用 `requests.put()` 和 `requests.delete()`。
13 2
|
29天前
|
JSON API 数据格式
使用Python的`requests`库进行HTTP请求
【4月更文挑战第12天】在Python中,`requests`库是发送HTTP请求的一个非常流行的工具。它提供了简单且强大的API,使得开发者能够轻松地与RESTful API或其他网络服务进行交互。本文将介绍如何使用`requests`库进行基本的HTTP请求,包括GET、POST等请求方法,以及如何处理响应和异常。
|
29天前
|
安全 API 开发者
Python中使用`requests`库进行请求头与自定义参数设置的技术详解
【4月更文挑战第12天】在Python中,`requests`库是一个强大且灵活的HTTP客户端,用于发送所有类型的HTTP请求。在发送请求时,我们经常需要设置请求头和自定义参数来满足不同的需求。本文将详细探讨如何在Python中使用`requests`库进行请求头和自定义参数的设置。
|
6月前
|
存储 网络协议 开发者
【 ⑫】requests库概述(文件上传、cookies处理、状态码处理、异常处理等)
【 ⑫】requests库概述(文件上传、cookies处理、状态码处理、异常处理等)
45 0
|
2月前
|
JSON 数据格式 Python
如何使用 Python 中的`requests`库发送 HTTP 请求?
【2月更文挑战第21天】【2月更文挑战第66篇】如何使用 Python 中的`requests`库发送 HTTP 请求?
|
5月前
|
API Python
Python 工具和库:如何使用 requests 库发送 HTTP 请求?
Python 工具和库:如何使用 requests 库发送 HTTP 请求?
|
7月前
|
数据采集 JSON 网络安全
9.每天进步一点点---Python-Requests HTTP 请求库
9.每天进步一点点---Python-Requests HTTP 请求库
|
7月前
|
网络安全
10.每天进步一点点---Python-Requests HTTP 请求库-2
10.每天进步一点点---Python-Requests HTTP 请求库-2
|
9月前
|
JSON 数据格式 Python
【从零学习python 】92.使用Python的requests库发送HTTP请求和处理响应
【从零学习python 】92.使用Python的requests库发送HTTP请求和处理响应
104 1