
可以下载本人编写的接口源码配合示例使用:
关于 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码为2xx:False
解析响应头
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