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

Python中requests库中的Response()函数解析和返回HTTP响应信息

发布时间:2023-12-17 08:28:16

在Python中,可以使用requests库中的Response()函数来解析和返回HTTP响应信息。Response对象是requests库发送请求后返回的对象,其中包含了请求的所有相关信息,如状态码、响应头、响应体等。

下面是使用requests库发送GET请求并解析返回的HTTP响应信息的例子:

import requests

# 发送GET请求
response = requests.get('https://api.github.com')

# 获取响应状态码
status_code = response.status_code
print('Status code:', status_code)

# 获取响应头
headers = response.headers
print('Headers:', headers)

# 获取响应体
content = response.content
print('Content:', content)

通过调用Response对象的status_code属性,可以获取到HTTP响应的状态码。在上述例子中,会输出响应状态码200,表示请求成功。

调用Response对象的headers属性,可以获取到响应头的信息。上述例子中,会输出类似以下的内容:

Headers: {'Date': 'Tue, 25 May 2021 10:00:00 GMT', 'Content-Type': 'application/json', 'Content-Length': '5216', 'Connection': 'keep-alive', ...}

最后,通过调用Response对象的content属性,可以获取到HTTP响应体的内容。上述例子中,会输出响应体的字节流。

除了上述的属性之外,Response对象还提供了其他一些有用的方法,如:

- response.text: 获取响应体的文本形式。

- response.json(): 将响应体的内容解析为JSON格式。

- response.raise_for_status(): 如果请求产生了错误(如404 Not Found),则会抛出HTTPError异常。

下面是使用Response对象提供的方法的例子:

import requests

# 发送GET请求
response = requests.get('https://api.github.com')

# 获取响应体的文本形式
text = response.text
print('Text:', text)

# 解析响应体的JSON格式
json_data = response.json()
print('JSON data:', json_data)

# 判断是否有错误
response.raise_for_status()

需要注意的是,在使用Response对象的方法前,需要确保请求已经成功并且正确返回。否则,可能会抛出异常。

综上所述,使用requests库中的Response()函数可以很方便地解析和返回HTTP响应信息。通过获取Response对象的属性和调用其提供的方法,可以获取到状态码、响应头和响应体的相关内容,从而进一步处理和分析HTTP请求的结果。