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

如何使用Python的request库中的get函数发送GET请求并获取响应?

发布时间:2023-06-23 10:52:08

Python的request库是一个广泛使用的库,它提供了一种简单而强大的方法来发送HTTP/1.1请求。GET请求是一种简单的方法,用于从服务器获取数据。在本文中,我们将讨论如何使用Python的request库中的get函数发送GET请求并获取响应。

1. 安装request库

要使用request库发送GET请求,您需要先安装它。可以通过运行以下命令来安装request库:

pip install requests

2. 导入库

要使用request库,您需要导入它。可以使用以下命令导入request库:

import requests

3. 发送GET请求

发送GET请求的最简单方法是使用request库中的get()函数。get()函数接受一个参数——URL。以下是使用get()函数发送GET请求的基本语法:

r = requests.get(url)

其中,r是请求的响应对象,而url是想要访问的URL。

在发送GET请求之前,您还可以提供其他参数以定制请求。这些参数包括:

- params: 为URL添加查询参数

- headers: 添加HTTP标头

- auth: 添加HTTP身份验证

- cookies: 添加cookie

- timeout: 添加请求超时

以下是在发送GET请求时可以使用的各种参数的示例:

import requests

# 发送GET请求并添加查询参数
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('https://httpbin.org/get', params=payload)

# 发送GET请求并添加HTTP标头
headers = {'user-agent': 'Mozilla/5.0'}
r = requests.get('https://httpbin.org/get', headers=headers)

# 添加HTTP身份验证
auth = ('username', 'password')
r = requests.get('https://httpbin.org/basic-auth/username/password', auth=auth)

# 添加cookie
cookies = {'name': 'value'}
r = requests.get('https://httpbin.org/cookies', cookies=cookies)

# 添加请求超时
r = requests.get('https://httpbin.org/delay/1', timeout=2)

4. 获取响应

发送GET请求后,您可以使用响应对象(如前所述,变量r)来访问响应的内容。以下是获取响应内容的方法:

- 获得响应的文本内容:使用text属性

import requests

r = requests.get('https://httpbin.org/get')
print(r.text)

- 获取响应的二进制内容:使用content属性

import requests

r = requests.get('https://httpbin.org/get')
print(r.content)

- 获取响应的JSON内容:使用json()方法

import requests

r = requests.get('https://httpbin.org/get')
print(r.json())

5. 处理异常

在发送GET请求时,可能会发生各种异常,例如超时、网络错误、HTTP错误等。为了处理这些异常,您可以使用try_except块。以下是获取GET请求时可能发生的异常的示例:

import requests

try:
    r = requests.get('https://httpbin.org/get')
except requests.exceptions.Timeout:
    print('请求超时')
except requests.exceptions.RequestException as e:
    print('网络错误:{}'.format(e))
except requests.exceptions.HTTPError as e:
    print('HTTP错误:{}'.format(e))
else:
    print(r.text)

以上就是使用Python的request库中的get函数发送GET请求并获取响应的方式。使用request库可以大大简化发送HTTP请求的过程,并使HTTP请求和响应的处理变得更加容易。