返回

HTTP操作利器——Requests库快速上手指南

前端

1. Requests库简介

Requests是一个简单、灵活且易于使用的Python HTTP库,它允许您使用Python语言轻松地发送HTTP请求并处理响应结果。Requests库支持多种HTTP方法,包括GET、POST、DELETE、PUT等,并且提供了许多有用的特性,如参数、标头、超时、重试等,帮助您更轻松地进行HTTP操作。

2. 安装Requests库

安装Requests库非常简单,您可以在命令行中使用以下命令进行安装:

pip install requests

3. 发送HTTP请求

3.1 GET请求

GET请求是最常用的HTTP请求方法之一,它用于从服务器获取资源。要使用Requests库发送GET请求,您可以使用以下代码:

import requests

url = 'http://example.com'
response = requests.get(url)

上面的代码发送了一个GET请求到URL为http://example.com的服务器,并把响应结果存储在response变量中。您可以使用response.status_code属性来获取HTTP状态码,使用response.headers属性来获取响应头,使用response.content属性来获取响应内容。

3.2 POST请求

POST请求通常用于向服务器发送数据。要使用Requests库发送POST请求,您可以使用以下代码:

import requests

url = 'http://example.com/submit'
data = {'name': 'John Doe', 'email': 'johndoe@example.com'}
response = requests.post(url, data=data)

上面的代码发送了一个POST请求到URL为http://example.com/submit的服务器,并把数据data发送给服务器。您可以使用response.status_code属性来获取HTTP状态码,使用response.headers属性来获取响应头,使用response.content属性来获取响应内容。

3.3 DELETE请求

DELETE请求用于从服务器删除资源。要使用Requests库发送DELETE请求,您可以使用以下代码:

import requests

url = 'http://example.com/delete/123'
response = requests.delete(url)

上面的代码发送了一个DELETE请求到URL为http://example.com/delete/123的服务器,并删除ID为123的资源。您可以使用response.status_code属性来获取HTTP状态码,使用response.headers属性来获取响应头,使用response.content属性来获取响应内容。

3.4 PUT请求

PUT请求用于更新服务器上的资源。要使用Requests库发送PUT请求,您可以使用以下代码:

import requests

url = 'http://example.com/update/123'
data = {'name': 'John Doe', 'email': 'johndoe@example.com'}
response = requests.put(url, data=data)

上面的代码发送了一个PUT请求到URL为http://example.com/update/123的服务器,并更新ID为123的资源。您可以使用response.status_code属性来获取HTTP状态码,使用response.headers属性来获取响应头,使用response.content属性来获取响应内容。

4. Requests库的其他特性

4.1 参数

在发送HTTP请求时,您可以使用参数来指定要发送的数据。要使用Requests库发送参数,您可以使用以下代码:

import requests

url = 'http://example.com/search'
params = {'q': 'python'}
response = requests.get(url, params=params)

上面的代码发送了一个GET请求到URL为http://example.com/search的服务器,并把参数q的值设置为python。您可以使用response.status_code属性来获取HTTP状态码,使用response.headers属性来获取响应头,使用response.content属性来获取响应内容。

4.2 标头

在发送HTTP请求时,您可以使用标头来指定请求的附加信息。要使用Requests库发送标头,您可以使用以下代码:

import requests

url = 'http://example.com/api'
headers = {'Content-Type': 'application/json'}
response = requests.post(url, headers=headers)

上面的代码发送了一个POST请求到URL为http://example.com/api的服务器,并把标头Content-Type的值设置为application/json。您可以使用response.status_code属性来获取HTTP状态码,使用response.headers属性来获取响应头,使用response.content属性来获取响应内容。

4.3 超时

在发送HTTP请求时,您可以使用超时来指定请求的超时时间。要使用Requests库设置超时,您可以使用以下代码:

import requests

url = 'http://example.com/slow'
timeout = 10
response = requests.get(url, timeout=timeout)

上面的代码发送了一个GET请求到URL为http://example.com/slow的服务器,并把超时时间设置为10秒。如果请求在10秒内没有得到响应,则会引发一个requests.exceptions.Timeout异常。

4.4 重试

在发送HTTP请求时,您可以使用重试来指定请求的重试次数。要使用Requests库设置重试,您可以使用以下代码:

import requests

url = 'http://example.com/unreliable'
retries = 3
response = requests.get(url, retries=retries)

上面的代码发送了一个GET请求到URL为http://example.com/unreliable的服务器,并把重试次数设置为3。如果请求在第一次尝试时失败,则会自动重试两次。