欢迎访问宙启技术站
智能推送

Python中的requests库和Response对象

发布时间:2024-01-17 21:31:34

requests库是Python中用于简化HTTP请求的库,它基于底层的 urllib3 库开发,提供了易于使用的接口,使得发送HTTP请求和处理响应变得更加方便。

使用requests库发送HTTP请求非常简单,可以通过调用requests库中的get、post等函数来实现。这些函数会返回一个Response对象,其中包含了服务器返回的响应信息。

下面通过一些例子来演示requests库的使用方法和Response对象的操作。

1. 发送GET请求

示例代码:

import requests

response = requests.get('https://api.github.com')
print(response.status_code)    # 获取响应状态码
print(response.headers)        # 获取响应头
print(response.text)           # 获取响应内容

这个例子发送一个GET请求到GitHub的API接口,并输出了响应的状态码、响应头和响应内容。

2. 发送POST请求

示例代码:

import requests

data = {'username': 'admin', 'password': '123456'}
response = requests.post('http://www.example.com/login', data=data)
print(response.status_code)
print(response.cookies)
print(response.json())

这个例子发送一个POST请求到一个登录接口,并传递了用户名和密码。它输出了响应的状态码、响应中的Cookies信息和响应的JSON格式内容。

3. 设置请求头

示例代码:

import requests

headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get('http://www.example.com', headers=headers)
print(response.text)

这个例子设置了一个User-Agent请求头,并发送一个GET请求到网站。它输出了响应的内容。

4. 上传文件

示例代码:

import requests

files = {'file': open('example.txt', 'rb')}
response = requests.post('http://www.example.com/upload', files=files)
print(response.text)

这个例子将当前目录下的example.txt文件上传到一个上传接口。它输出了响应的内容。

5. 处理Cookie

示例代码:

import requests

response = requests.get('http://www.example.com')
print(response.cookies)
for cookie in response.cookies:
    print(cookie.name, cookie.value)

这个例子发送一个GET请求,并输出了响应中的所有Cookie信息。

通过以上的例子,可以看出requests库非常简单易用,可以轻松地发送HTTP请求并处理响应。Response对象则是请求返回的结果,可以通过它来获取响应的状态码、响应头、响应内容等信息。一旦了解了requests库和Response对象的使用方法,你可以在Python中轻松地进行网络请求和处理返回的数据。