可以下载本人编写的接口源码配合示例使用:

点击下载压缩包,压缩包内含有接口源码及使用说明

关于 response

一个典型的 HTTP 响应,由以下几个部分组成:

状态行

HTTP/1.1 200 OK
  • HTTP版本:例如 HTTP/1.1
  • 状态码:用于表示请求的处理结果。例如 200 表示请求成功,404 表示资源未找到。
  • 状态描述:对状态码的简要描述,例如 OK。

常见的状态码:

200 OK:请求成功。
201 Created:资源已成功创建(通常是POST请求的响应)。
204 No Content:请求成功,但没有响应体内容。
400 Bad Request:请求无效,通常是由于请求参数有误。
401 Unauthorized:未授权,需进行身份验证。
403 Forbidden:服务器拒绝请求,权限不足。
404 Not Found:请求的资源未找到。
500 Internal Server Error:服务器内部错误。

响应头

Content-Type: application/json
Content-Length: 123
Date: Mon, 27 Sep 2024 14:22:30 GMT
  • Content-Type: 指定响应内容的MIME类型,例如 text/html, application/json
  • Content-Length: 响应体的长度,单位为字节
  • Date: 响应生成的时间
  • 其他的响应头:如:Set-Cookie、Server、Connection等

空行

头部和响应体之间的空行,表示头部的结束。

响应体

响应体是服务器返回的实际数据,通常是 HTML、JSON、XML 等格式的内容。对于成功的请求,响应体是请求结果的具体内容。

完整的响应示例

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 123
Date: Mon, 27 Sep 2024 14:22:30 GMT

{
	"code":0,
	"data":{
		"content_type":null,
		"method":"GET"
		},
		"message":"Successful"
}

解析状态行

import requests

# 定义请求的URL。该地址是部署在本地的接口地址,读者可以下载源码使用
url = 'http://127.0.0.1:5000/StatusLine/?code=500' # 须有 code=状态码 这个参数,不然状态码会为400

# 发起请求,并将响应赋值给response变量
response = requests.get(url)

# 解析状态行
print(f'HTTP版本:{response.raw.version}')  # 11 表示 HTTP/1.1, 10 表示 HTTP/1.0
print(f'Code码:{response.status_code} {response.raw.status}')  # 两种方式都可以获取code
print(f'状态描述: {response.raw.reason}')  # 获取状态描述
print(f'Code码为2xx:{response.ok}')  # ok方法可以判断响应的code是否为2xx,是返回True,不是返回False

运行结果

HTTP版本11
Code码500 500
状态描述: INTERNAL SERVER ERROR
Code码为2xxFalse

解析响应头

from pprint import pprint

import requests

# 定义请求的URL。该地址是部署在本地的接口地址,读者可以下载源码使用
url = 'http://127.0.0.1:5000/StatusLine/?code=500'

# 发起请求,并将响应赋值给response变量
response = requests.get(url)

# 打印响应的响应头
print('打印完整的响应头:')
# response.headers属性返回的是一个类似字典的对象,但并不完全是字典。可以转换为dict,以便操作
pprint(dict(response.headers))

运行结果

打印完整的头信息:
打印完整的响应头:
{'Connection': 'close',
 'Content-Length': '25',
 'Content-Type': 'application/json',
 'Date': 'Wed, 04 Jun 2025 03:01:31 GMT',
 'Server': 'Werkzeug/3.1.3 Python/3.13.0'}

解析响应体

import requests

# 定义请求的URL。该地址是部署在本地的接口地址,读者可以下载源码使用
url = 'http://127.0.0.1:5000/StatusLine/?code=500'

# 发起请求,并将响应赋值给response变量
response = requests.get(url)

print('打印响应体信息:')
print(type(response.text), response.text)  # 任何响应体信息都可以使用此方法获取,返回类型为str
print(type(response.json()), response.json())  # 响应体是 application/json 类型,可以使用此方法,返回类型为dict

运行结果

打印响应体信息:
<class 'str'> {"message":"Successful"}

<class 'dict'> {'message': 'Successful'}

使用 response.text 获取的数据,按照需要再去解析响应数据。


END



© 转载需要保留原始链接,未经明确许可,禁止商业使用。CC BY-NC-ND 4.0