requests 是 Python 中一个非常流行的第三方 HTTP 请求库,其提供了便捷的 HTTP 请求方式和丰富的高级功能。接下来,我将从基础使用、请求结构、请求方法、自定义请求头、请求参数、会话和 Session、代理、SSL 验证、文件上传、重定向等方面深入介绍 requests 模块的使用。
import requests
response = requests.get('https://www.baidu.com')
print(response.content) # 打印出请求返回的结果
print(response.status_code) # 打印出请求的状态码
requests 的请求结构由 Request 和 Response 两个类构成,其中 Request 表示请求信息,Response 表示响应信息。
import requests
url = 'http://www.example.com'
headers = {'User-Agent':'Mozilla/5.0'}
req = requests.Request('GET',url,headers=headers)
prepped = req.prepare()
res = requests.Session().send(prepped)
print(res.text)
requests 支持多种请求方法,包括 GET、POST、PUT、DELETE、HEAD、OPTIONS 等。
import requests
# 发送 GET 请求
response = requests.get('https://api.github.com')
# 发送 POST 请求
response = requests.post('https://httpbin.org/post', data={'key': 'value'})
可以使用 headers 参数来设置请求头信息。
import requests
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get('https://www.baidu.com', headers=headers)
可以使用 params 参数来设置请求参数信息。
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.get('https://www.baidu.com', params=payload)
在 requests 中使用会话和 Session 可以实现更高效的请求操作,可以在多个请求之间共享 Cookie、缓存、身份验证等信息。
import requests
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
response = s.get('http://httpbin.org/cookies')
print(response.text)
可以使用 proxies 参数来设置代理信息。
import requests
proxies = {'http': 'http://10.10.1.10:3128', 'https': 'http://10.10.1.10:1080'}
response = requests.get('https://www.baidu.com', proxies=proxies)
可以使用 verify 参数来验证 SSL 证书信息。
import requests
response = requests.get('https://www.baidu.com', verify='/path/to/certfile')
可以使用 files 参数来上传文件。
import requests
#Python小白学习交流群:711312441
url = 'http://httpbin.org/post'
files = {'file': open('test.txt', 'rb')}
response = requests.post(url, files=files)
使用 allow_redirects 参数来开启或关闭重定向功能。
import requests
response = requests.get('http://github.com', allow_redirects=False)
以上就是 requests 模块的由浅入深的介绍。requests 的优点在于其简洁的 API 接口和丰富的高级功能,可以帮助我们轻松地完成 HTTP 请求操作。