Requests库是一个Python HTTP客户端库,用于向Web服务器发送HTTP请求。它提供了简单而直观的API,使得向Web服务器发送HTTP请求变得非常容易。以下是Requests库的一些功能和示例:
1、发送HTTP GET请求
发送HTTP GET请求非常简单,只需使用requests.get()
函数,并指定要发送请求的URL。例如,以下代码将发送一个GET请求,并打印响应内容:
import requestsresponse = requests.get('https://api.github.com') print(response.text)
2、发送HTTP POST请求
发送HTTP POST请求也很容易,只需使用requests.post()
函数,并指定要发送请求的URL和要发送的数据。例如,以下代码将向指定的URL发送一个包含JSON数据的POST请求,并打印响应内容:
import requestsurl = 'https://jsonplaceholder.typicode.com/posts' data = {'title': 'foo', 'body': 'bar', 'userId': 1} response = requests.post(url, json=data)print(response.text)
3、设置请求头
如果需要设置请求头,可以使用headers
参数。例如,以下代码将发送一个包含自定义请求头的GET请求,并打印响应内容:
import requestsurl = 'https://api.github.com' headers = {'User-Agent': 'My App'} response = requests.get(url, headers=headers)print(response.text)
4、发送文件
使用Requests库,可以轻松地上传文件。只需使用files
参数,将要上传的文件作为字典传递即可。以下是一个简单的示例:
import requestsurl = 'https://httpbin.org/post' files = {'file': open('path/to/file', 'rb')} response = requests.post(url, files=files)print(response.text)
5、处理Cookies和会话
使用Requests库,可以方便地处理Cookies和会话。只需使用cookies
参数,将要发送的Cookies作为字典传递即可。以下是一个简单的示例:
import requestsurl = 'https://httpbin.org/cookies' cookies = {'cookie1': 'value1', 'cookie2': 'value2'} response = requests.get(url, cookies=cookies)print(response.text)
6、处理异常
使用Requests库,还可以方便地处理HTTP错误和其他异常。可以使用try-except语句捕获异常,并根据需要处理它们。以下是一个简单的示例:
import requestsurl = 'https://httpbin.org/status/404' try:response = requests.get(url)response.raise_for_status() except requests.exceptions.HTTPError as err:print(f'HTTP Error: {err}') except requests.exceptions.Timeout as err:print(f'Request timed out: {err}') except requests.exceptions.RequestException as err:print(f'Request failed: {err}') else:print(response.text)
在上面的示例中,我们向一个不存在的URL发送了一个GET请求,会触发HTTPError异常。我们使用try-except语句捕获异常,并打印错误消息。