Python requests模块用法详解

  • Post category:http

Python requests模块用法详解

简介

requests是一个第三方Python HTTP客户端库。使用它可以方便地发送HTTP/1.1请求,表单数据,多部分文件和进行身份验证。它最初是Kenneth Reitz编写的,但是现在已经成为Python中最流行的HTTP库之一。

安装

可以通过pip安装requests模块。在命令行运行下面的命令即可:

pip install requests

发送HTTP请求

使用requests模块发送HTTP请求非常容易。可以使用以下方法:

  • requests.get发送GET请求。
  • requests.post发送POST请求。
  • requests.put发送PUT请求。
  • requests.delete发送DELETE请求。

get为例,下面是使用requests.get和一些常见参数的示例:

import requests

response = requests.get('https://www.baidu.com/')
print(response.status_code)    # 打印响应状态码
print(response.text)    # 打印响应内容

发送GET请求

发送GET请求时,可以使用以下参数(可以组合使用多个参数):

  • params:要发送的参数
  • headers:要发送的请求头
  • cookies:要发送的cookie

以下示例是使用requests.get发送一个带有查询参数的GET请求,并设置了请求头和Cookie:

import requests

params = {'key1': 'value1', 'key2': 'value2'}
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'}
cookies = {'cookie1': 'value1', 'cookie2': 'value2'}
response = requests.get('https://example.com/search', params=params, headers=headers, cookies=cookies)
print(response.status_code)    # 打印响应状态码
print(response.text)    # 打印响应内容

发送POST请求

发送POST请求时,可以使用以下参数(可以组合使用多个参数):

  • data:要发送的数据
  • headers:要发送的请求头
  • cookies:要发送的cookie

以下示例是使用requests.post发送一个包含表单数据的POST请求,并设置了请求头和Cookie:

import requests

data = {'field1': 'value1', 'field2': 'value2'}
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36'}
cookies = {'cookie1': 'value1', 'cookie2': 'value2'}
response = requests.post('https://example.com/form', data=data, headers=headers, cookies=cookies)
print(response.status_code)    # 打印响应状态码
print(response.text)    # 打印响应内容