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

Python 中的 requests 库实现 HTTP 请求

发布时间:2023-09-10 03:19:52

requests 是一个常用的 HTTP 请求库,它可以用来发送 HTTP 请求并获取响应。使用 requests 库可以方便地完成 GET、POST、PUT、DELETE 等常见的 HTTP 请求。下面是使用 requests 库实现 HTTP 请求的一些常见用法。

1. 发送 GET 请求:

通过调用 requests 库的 get() 方法可以发送一个 GET 请求获取远程服务器返回的响应数据。例如,发送一个 GET 请求来获取百度的首页内容:

import requests
response = requests.get('https://www.baidu.com')
print(response.text)

这段代码会向 'https://www.baidu.com' 发送一个 GET 请求,并将响应的内容打印出来。

2. 发送带参数的 GET 请求:

如果需要发送带参数的 GET 请求,可以通过给 get() 方法传递一个字典作为参数来实现。例如,发送一个带有查询字符串参数的 GET 请求:

import requests
params = {
    'key1': 'value1',
    'key2': 'value2'
}
response = requests.get('https://www.example.com', params=params)
print(response.text)

这段代码会向 'https://www.example.com' 发送一个带有查询字符串参数的 GET 请求,查询字符串参数会被自动拼接到 URL 上。

3. 发送 POST 请求:

通过调用 requests 库的 post() 方法可以发送一个 POST 请求。例如,发送一个 POST 请求来提交一个表单:

import requests
data = {
    'username': 'admin',
    'password': '123456'
}
response = requests.post('https://www.example.com/login', data=data)
print(response.text)

这段代码会向 'https://www.example.com/login' 发送一个 POST 请求,提交的数据会以表单的形式进行传输。

4. 设置请求头:

通过设置 headers 参数可以设置请求头。例如,设置 User-Agent 请求头来伪装成浏览器发送请求:

import requests
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
response = requests.get('https://www.example.com', headers=headers)
print(response.text)

这段代码会向 'https://www.example.com' 发送一个 GET 请求,并将伪装成浏览器的 User-Agent 请求头带上。

5. 获取响应内容:

发送请求后,可以通过 response 对象来获取响应的内容。response 对象的 text 属性可以获取响应内容的文本形式,content 属性可以获取响应内容的二进制形式。例如,获取响应内容的文本形式:

import requests
response = requests.get('https://www.example.com')
print(response.text)

这段代码会向 'https://www.example.com' 发送一个 GET 请求,并将响应内容的文本形式打印出来。

通过上述几个例子的介绍,可以看出使用 requests 库可以非常方便地实现 HTTP 请求,并获取服务器返回的响应。在实际开发中,requests 库的功能不仅仅局限于上述的例子,还可以支持更多的 HTTP 请求方法和功能,详情可以参考官方文档。