1. 介绍
Python requests模块是用于向外部资源发送HTTP请求的Python库。它使得HTTP请求可以用更简单、更简洁的方式发送,并且支持多种HTTP请求方法。本篇文章为大家介绍requests模块的基本用法和高级用法,帮助读者更好地理解Python网络请求。
2. 使用指南
1. 基本用法
使用requests发送HTTP请求主要分为以下步骤:
- 导入requests模块
- 使用requests发送HTTP请求
- 解析HTTP响应
以下是一个基本使用范例:
import requests
response = requests.get('https://www.baidu.com')
print(response.text)
在以上代码中,我们发送了一个GET请求到百度首页,并且打印出了响应内容。这里需要注意的是,在requests模块中,发送HTTP请求的方法分为GET、POST、PUT、DELETE等,可以根据需求自行选择不同的请求方法。
2. 参数传递
如果需要在请求的URL中传递参数,我们可以使用params参数。以下是一个使用params参数的例子:
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.get("http://www.httpbin.org/get", params=payload)
print(response.url)
在以上代码中,我们使用params参数将payload中的参数传递到了URL中,并且可以通过response.url打印出完整的URL。
3. 发送POST请求
如果需要发送POST请求,我们可以使用requests.post()方法。以下是一个使用POST请求的例子:
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.post("http://www.httpbin.org/post", data=payload)
print(response.text)
在以上代码中,我们使用post方法并且通过data参数将payload传递到了HTTP请求中。
4. 发送JSON数据
如果需要向服务器发送JSON格式的数据,我们可以使用json参数。以下是一个使用json参数的例子:
import requests
url = "http://www.httpbin.org/post"
payload = {'some': 'data'}
headers = {'content-type': 'application/json'}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
在以上代码中,我们使用json参数将payload中的JSON格式的数据发送到HTTP请求中,同时设置了请求头的content-type属性为application/json。
5. 发送文件
如果需要向服务器发送文件,我们可以在POST请求中使用files参数。以下是一个使用files参数的例子:
import requests
url = 'http://httpbin.org/post'
files = {'file': open('test.txt', 'rb')}
response = requests.post(url, files=files)
print(response.text)
在以上代码中,我们使用files参数上传了一个名为test.txt的文件。
3. 总结
本篇文章介绍了Python requests库的基本用法和高级用法,包括参数传递、发送POST请求、发送JSON数据、发送文件等。Requests模块机制简单,使用方便,功能多样化,为我们带来了很大的便利性。