常用的requests库参数和方法
常用方法
requests库中定义了多个常用的请求方法,其中requests.get()
和requests.post()
是最常用的方法。这些方法对应于HTTP协议中的GET和POST方法。
requests.get(url, params=None, **kwargs)
: 用于发送GET请求。requests.post(url, data=None, json=None, **kwargs)
: 用于发送POST请求。
除了GET和POST方法,requests库还支持其他HTTP方法,如PUT、DELETE、HEAD、OPTIONS等。
常用参数
在使用requests库发送请求时,可以使用以下常用参数:
-
params: 用于在URL中添加查询参数。例如,
params={'key1': 'value1', 'key2': 'value2'}
将被添加到URL的查询字符串中。import requestsurl = 'http://example.com' params = {'key1': 'value1', 'key2': 'value2'} response = requests.get(url, params=params) print(response.text)
-
data: 用于在POST请求中发送表单数据。例如,
data={'key1': 'value1', 'key2': 'value2'}
将被发送为请求体。import requestsurl = 'http://example.com' data = {'key1': 'value1', 'key2': 'value2'} response = requests.post(url, data=data) print(response.text)
-
json: 用于在POST请求中发送JSON格式的数据。例如,
json={'key1': 'value1', 'key2': 'value2'}
将被发送为JSON格式的请求体。import requestsurl = 'http://example.com' json_data = {'key1': 'value1', 'key2': 'value2'} response = requests.post(url, json=json_data) print(response.text)
-
headers: 用于设置请求头。例如,
headers={'User-Agent': 'Mozilla/5.0'}
将设置User-Agent头。import requestsurl = 'http://example.com' headers = {'User-Agent': 'Mozilla/5.0'} response = requests.get(url, headers=headers) print(response.text)
-
timeout: 用于设置请求的超时时间。例如,
timeout=10
将设置请求的超时时间为10秒。import requestsurl = 'http://example.com' timeout = 10 # 设置超时时间为10秒 response = requests.get(url, timeout=timeout) print(response.text)
-
proxies: 用于设置代理。例如,
proxies={'http': 'http://127.0.0.1:8080', 'https': 'https://127.0.0.1:8080'}
将设置HTTP和HTTPS请求的代理。import requestsurl = 'http://example.com' proxies = {'http': 'http://127.0.0.1:8080','https': 'https://127.0.0.1:8080' } response = requests.get(url, proxies=proxies) print(response.text)
-
verify: 用于设置SSL证书验证。如果设置为
False
,将忽略SSL证书验证。import requestsurl = 'http://example.com' verify = False # 忽略SSL证书验证 response = requests.get(url, verify=verify) print(response.text)
示例代码
以下是使用requests库发送GET和POST请求的示例代码:
import requests# 发送GET请求
url = 'http://example.com'
params = {'key1': 'value1', 'key2': 'value2'}
response = requests.get(url, params=params)
print(response.text)# 发送POST请求
url = 'http://example.com'
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post(url, data=data)
print(response.text)
最后,如果你也想自学Python,可以关注我。
我还整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容: 【点击这里】领取!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。