requests是 Python 中用于发送 HTTP 请求的常用第三方库,可以方便地实现多种请求方式(如 GET、POST、PUT、DELETE 等),以及文件上传、Cookies 管理等功能。以下是 requests 模块的使用方法和注意事项:
  1. 安装 requests:使用 pip 命令安装 requests 库,命令为 "pip install requests"。

   以下是 requests 模块中一些常用方法的整理和示例:

1、requests.get(url, params=None, **kwargs):GET 请求通常用于获取资源,例如网页、图片或 API 数据。可以通过在 URL 中添加查询字符串参数或使用 params 参数来发送查询字符

import requests

response = requests.get('https://httpbin.org/get', params={'key1': 'value1', 'key2': 'value2'})

print(response.status_code) # 输出状态码,例如:200
print(response.content) # 输出二进制内容
print(response.text) # 输出文本内容

2、requests.post(url, data=None, json=None, **kwargs):POST 请求通常用于向服务器提交数据,例如表单数据、JSON 数据或文件上传等。可以使用 datajson 参数来传递数据。

import requests

payload = {'key1': 'value1', 'key2': 'value2'}

response = requests.post('https://httpbin.org/post', data=payload)

print(response.status_code) # 输出状态码,例如:200
print(response.content) # 输出二进制内容
print(response.text) # 输出文本内容

3、requests.put(url, data=None, **kwargs):PUT 请求通常用于更新资源,例如向服务器上传新版本的文件或修改数据库记录等。可以使用 data 参数来传递需要更新的内容。

import requests

payload = {'key1': 'value1', 'key2': 'value2'}

response = requests.put('https://httpbin.org/put', data=payload)

print(response.status_code) # 输出状态码,例如:200
print(response.content) # 输出二进制内容
print(response.text) # 输出文本内容

4、requests.delete(url, **kwargs):DELETE 请求用于删除给定 URL 上的资源,并返回响应对象。

import requests

response = requests.delete('https://httpbin.org/delete')

print(response.status_code) # 输出状态码,例如:200
print(response.content) # 输出二进制内容
print(response.text) # 输出文本内容

5、requests.head(url, **kwargs):HEAD 请求和 GET 请求类似,但是不返回响应体。因此,响应对象只包含响应头信息。

import requests

response = requests.head('https://httpbin.org/get')

print(response.status_code) # 输出状态码,例如:200
print(response.headers) # 输出响应头信息

6、requests.patch(url, data=None, **kwargs):PATCH 请求用于部分更新资源。可以使用 data 参数来传递需要更新的内容。import requests

import requests

payload = {'key1': 'value1', 'key2': 'value2'}

response = requests.patch('https://httpbin.org/patch', data=payload)

print(response.status_code) # 输出状态码,例如:200
print(response.content) # 输出二进制内容
print(response.text) # 输出文本内容

7、requests.options(url, **kwargs):OPTIONS 请求获取有关请求 URL 支持的方法和其他详细信息。这个方法很少使用。

import requests

response = requests.options('https://httpbin.org/get')

print(response.status_code) # 输出状态码,例如:200
print(response.headers) # 输出响应头信息

在使用 requests 模块的方法时,需要注意以下事项:

  1. requests.get(url, params=None, **kwargs):GET 请求可以通过在 URL 中添加查询字符串参数,或者使用 params 参数来发送查询字符串。params 参数应该是一个字典类型。

  2. requests.post(url, data=None, json=None, **kwargs):POST 请求传递数据可以使用 datajson 参数。如果是 JSON 数据,json 参数会自动将数据编码为 JSON 格式并设置适当的 Content-Type 头。data 参数应该是一个字典类型。

  3. requests.put(url, data=None, **kwargs):PUT 请求可以通过 data 参数来传递数据。如果请求中包含数据,则应该对 Content-Type 设置正确的值。

  4. requests.delete(url, **kwargs):DELETE 请求删除给定 URL 上的资源,并返回响应对象。

  5. requests.head(url, **kwargs):HEAD 请求和 GET 请求类似,但是不返回响应体。因此,响应对象只包含响应头信息。

  6. requests.patch(url, data=None, **kwargs):PATCH 请求用于部分更新资源。可以使用 data 参数来传递需要更新的内容。

  7. requests.options(url, **kwargs):OPTIONS 请求获取有关请求 URL 支持的方法和其他详细信息。这个方法很少使用。

除此之外,还需要注意以下几点:

  • 如果请求成功,响应对象的 status_code 属性会等于 200。
  • 可以通过响应对象的 content 属性访问响应的二进制数据,通过 text 属性访问文本内容。
  • 可以使用 headers 属性访问响应头信息,例如 Content-Type、Content-Length 等。
  • requests 模块还提供了其他参数和选项,例如 headers、timeout 和 auth 等。可以查看官方文档以获取更多信息。