Python的request函数

requests 是一个常用的 Python 库,用于发送 HTTP 请求。它简单易用且功能强大。
下面是对 requests 库中一些常用函数的详细解释:

1. 安装 requests

首先,您需要安装 requests 库:

pip install requests

2. 基本使用

get(url)

用于发送 GET 请求。

import requests

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

post(url)

用于发送 POST 请求。

import requests

response = requests.post('https://www.example.com', data={'key': 'value'})
print(response.status_code)
print(response.text)

3. 自定义请求头

使用 headers 参数可以自定义请求头。

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}

response = requests.get('https://www.example.com', headers=headers)
print(response.status_code)

4. 添加认证

使用 auth 参数可以添加基本认证。

import requests

response = requests.get('https://www.example.com', auth=('username', 'password'))
print(response.status_code)

5. 发送参数

通过 params 可以传递 URL 查询字符串参数。

import requests

params = {'key1': 'value1', 'key2': 'value2'}
response = requests.get('https://www.example.com/search', params=params)
print(response.url)  # 查看完整的请求URL

6. 发送 JSON 数据

通过 json 参数可以传递 JSON 格式的数据。

import requests

data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://www.example.com/post', json=data)
print(response.text)  # 打印返回内容

7. 文件上传

通过 files 参数可以上传文件。

import requests

file_path = '/path/to/your/file.txt'
with open(file_path, 'rb') as f:
    files = {'file': (file_path, f)}
    response = requests.post('https://www.example.com/upload', files=files)
print(response.status_code)

8. 使用 Session

通过 Session 对象可以保持会话状态,比如登录认证。

import requests

session = requests.Session()
response1 = session.get('https://www.example.com/login')
print(response1.text)

# 登录并发送 POST 请求
response2 = session.post('https://www.example.com/login', data={'username':
'user', 'password': 'pass'})
print(response2.status_code)