requests.models模块中的主要类和函数详解
发布时间:2024-01-14 21:55:26
requests.models模块中的主要类和函数主要用于创建和管理HTTP请求以及处理HTTP响应。下面是对一些主要的类和函数的详细解释和使用例子。
1. Request类:该类用于创建和管理HTTP请求,可以设置请求的方法、URL、头部信息、请求体等。Request类的构造函数参数有method、url、headers、files、data等。
import requests
url = "http://httpbin.org/post"
data = {"key1": "value1", "key2": "value2"}
headers = {"User-Agent": "Mozilla/5.0"}
req = requests.Request('POST', url, data=data, headers=headers)
prepared = req.prepare()
# 打印请求的方法、URL、头部信息、请求体等
print(prepared.method)
print(prepared.url)
print(prepared.headers)
print(prepared.body)
2. Response类:该类用于处理和管理HTTP响应,可以获取响应的状态码、头部信息、内容等。Response类的属性有status_code、headers、text、json()等。
import requests
response = requests.get("http://httpbin.org/get")
# 打印响应的状态码、头部信息、内容等
print(response.status_code)
print(response.headers)
print(response.text)
3. PreparedRequest类:该类用于包装Request对象,并准备发送到服务器。
import requests
req = requests.Request('GET', "http://httpbin.org/get")
prepared = req.prepare()
# 发送请求
response = requests.Session().send(prepared)
# 打印响应的状态码、头部信息、内容等
print(response.status_code)
print(response.headers)
print(response.text)
4. request方法:该方法用于发送HTTP请求,并返回一个Response对象。
import requests
response = requests.request('GET', "http://httpbin.org/get")
# 打印响应的状态码、头部信息、内容等
print(response.status_code)
print(response.headers)
print(response.text)
5. get方法和post方法:这两个方法分别用于发送GET请求和POST请求,并返回一个Response对象。
import requests
response = requests.get("http://httpbin.org/get")
# 或
response = requests.post("http://httpbin.org/post", data={"key1": "value1", "key2": "value2"})
# 打印响应的状态码、头部信息、内容等
print(response.status_code)
print(response.headers)
print(response.text)
6. head、put、delete、patch、options等方法:这些方法用于发送HEAD、PUT、DELETE、PATCH、OPTIONS等请求,并返回一个Response对象。
import requests
response = requests.head("http://httpbin.org/get")
# 或
response = requests.put("http://httpbin.org/post", data={"key1": "value1", "key2": "value2"})
# 或
response = requests.delete("http://httpbin.org/delete")
# 或
response = requests.patch("http://httpbin.org/patch", data={"key1": "value1", "key2": "value2"})
# 或
response = requests.options("http://httpbin.org/get")
# 打印响应的状态码、头部信息、内容等
print(response.status_code)
print(response.headers)
print(response.text)
上面列举的只是requests.models模块中的一部分类和函数,还有其他一些可以用来处理URL、管理Cookie、处理请求参数等的类和函数。通过使用这些类和函数,我们可以方便地发送HTTP请求,并处理HTTP响应的各个方面。
