一文入门request请求库使用

在现代Web开发中,与服务器进行HTTP通信是一个常见的需求。Python的 ​requests​库是一个强大且易于使用的HTTP库,它允许你发送HTTP/1.1请求,而无需手动添加查询字符串到URL,或格式化POST数据。本文将带你入门 requests​库的基本使用。

安装Requests库

首先,你需要安装 ​requests​库。你可以使用 ​pip​来安装:

pip install requests 

发送GET请求

发送一个简单的GET请求非常直观。你可以使用 ​requests.get()​方法:

import requests

response = requests.get('https://api.github.com')
print(response.status_code)  # 输出: 200
print(response.text)         # 输出: 响应的文本内容

发送POST请求

发送POST请求同样简单。你可以使用 ​requests.post()​方法,并传递数据:

import requests

data = {'key': 'value'}
response = requests.post('https://httpbin.org/post', data=data)
print(response.status_code)  # 输出: 200
print(response.json())       # 输出: 响应的JSON内容

传递URL参数

你可以在GET请求中传递URL参数。​requests​允许你通过一个字典来传递这些参数:

import requests

params = {'key1': 'value1', 'key2': 'value2'}
response = requests.get('https://httpbin.org/get', params=params)
print(response.url)          # 输出: https://httpbin.org/get?key1=value1&key2=value2
print(response.text)         # 输出: 响应的文本内容

处理响应

​requests​库提供了多种方法来处理响应。你可以检查响应的状态码、获取响应头、解析JSON数据等:

import requests

response = requests.get('https://api.github.com')

print(response.status_code)  # 输出: 200
print(response.headers)      # 输出: 响应头
print(response.json())       # 输出: 解析后的JSON数据

处理异常

在发送请求时,可能会遇到各种异常情况。​requests​库提供了异常处理机制:

import requests
from requests.exceptions import HTTPError

try:
    response = requests.get('https://api.github.com')
    response.raise_for_status()  # 如果响应状态码不是200,将抛出HTTPError异常
except HTTPError as http_err:
    print(f'HTTP error occurred: {http_err}')
except Exception as err:
    print(f'Other error occurred: {err}')
else:
    print('Success!')

会话对象

如果你需要在多个请求之间保持某些参数(如cookies),可以使用 ​requests.Session​对象:

import requests

with requests.Session() as session:
    session.auth = ('user', 'pass')
    response = session.get('https://httpbin.org/get')
    print(response.text)  # 输出: 响应的文本内容

总结

​requests​库是一个功能强大且易于使用的HTTP库,它简化了与Web服务进行通信的过程。通过本文的介绍,你应该已经掌握了如何发送GET和POST请求,如何传递URL参数,如何处理响应和异常,以及如何使用会话对象。希望这篇文章能帮助你快速入门 ​requests​库的使用。

你可能感兴趣的:(python,python,开发语言)