目录
1、应用场景
2、requests-三方库
Python中的requests库被广泛应用在需要发送HTTP请求的场景中。以下列举了一些主要的应用场景:
总的来说,只要是涉及到HTTP请求,不管是获取信息,还是提交信息,requests库都是非常好用的工具。
Python中requests库的基础使用方法很简单,主要涉及到的HTTP方法包括GET、POST、PUT、DELETE等。以下是一些基础的使用方法:
import requests
response = requests.get('http://httpbin.org/get')
print(response.text)
import requests
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('http://httpbin.org/post', data=data)
print(response.text)
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.get('http://httpbin.org/get', params=payload)
print(response.url)
print(response.text)
import requests
url = 'http://httpbin.org/post'
files = {'file': open('report.xls', 'rb')}
response = requests.post(url, files=files)
print(response.text)
上述示例中,每个请求返回一个 Response 对象。这个对象包含服务器返回的所有信息,包括响应内容、响应状态码、响应头等。例如:
import requests
response = requests.get('http://httpbin.org/get')
print(response.status_code) # 输出响应状态码
print(response.headers) # 输出响应头
print(response.cookies) # 输出cookies
print(response.json()) # 将响应内容解析为JSON
这只是requests库最基础的使用方法,它还有许多高级功能,例如处理Cookies、维护Session、处理重定向等。具体的使用方法可以参考官方文档或者进阶教程。
GET、POST、PUT、DELETE等方法都是HTTP协议中的请求方法,这些方法在requests库中对应相同名字的函数。它们的主要参数如下:
以下是对各个参数的使用示例:
response = requests.get('http://httpbin.org/get')
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.get('http://httpbin.org/get', params=payload)
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('http://httpbin.org/post', data=data)
data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('http://httpbin.org/post', json=data)
headers = {'user-agent': 'my-app/0.0.1'}
response = requests.get('http://httpbin.org/get', headers=headers)
cookies = dict(cookies_are='working')
response = requests.get('http://httpbin.org/cookies', cookies=cookies)
url = 'http://httpbin.org/post'
files = {'file': open('report.xls', 'rb')}
response = requests.post(url, files=files)
需要注意的是,以上参数取决于实际HTTP请求的需求和API接口的要求,所以并非所有请求都需要全部使用这些参数,比如一般获取网页内容的GET请求,可能只需要提供URL一个参数即可。