python 读取 http请求状态码 json 文件

一、完整键值对

以下状态码保存到文件 http_response_status_code_full.json


点击展开代码
[
{
"_comment1": "Http 返回信息的状态码,json 格式,用于服务封装",
"_comment2": "https://www.cnblogs.com/wutou/p/17738708.html"
},{
"code":100,
"message":"继续,请求者应当继续提出请求。服务器已收到请求的一部分,正在等待其余部分"
},{
"code": 101,
"message": "切换协议,服务器已成功处理了请求"
},{
"code": 102,
"message": "处理,继续执行"
},{
"code": 103,
"message": "预加载,浏览器开始预加载CSS和JavaScript等文件"
},{
"code": 122,
"message": "URL太长,请求url太长"
},{
"code": 200,
"message": "请求成功,服务器已成功处理了请求"
},{
"code": 201,
"message": "已创建,请求成功并且服务器创建了新的资源"
},{
"code": 202,
"message": "已接受,服务器已接受请求,但尚未处理"
},{
"code": 203,
"message": "非授权信息,服务器已成功处理了请求,但返回的信息可能来自另一个源"
},{
"code": 204,
"message": "无内容,服务器成功处理了请求,但没有返回任何内容"
},{
"code": 205,
"message": "重置内容,服务器成功处理了请求,内容被重置"
},{
"code": 206,
"message": "部分内容,服务器成功处理了部分请求"
},{
"code": 300,
"message": "多种选择,针对请求,服务器可执行多种操作"
},{
"code": 301,
"message": "永久移动,请求的网页已永久移动到新位置,即永久重定向"
},{
"code": 302,
"message": "临时移动,请求的网页暂时跳转到其他页面,即暂时重定向"
},{
"code": 303,
"message": "查看其它地址,如果原来的请求是POST,重定向目标文档应该通过GET提取"
},{
"code": 304,
"message": "未修改,此次请求返回的网页未修改,继续使用上次的资源"
},{
"code": 305,
"message": "使用代理,请求者应该使用代理访问该网页"
},{
"code": 307,
"message": "临时重定向,请求的资源临时从其他位置响应"
},{
"code": 400,
"message": "错误请求,客户端请求的语法错误,服务器无法理解,服务器无法解析该请求"
},{
"code": 401,
"message": "未授权,请求要求用户的身份认证,身份验证或验证未通过"
},{
"code": 403,
"message": "禁止访问,服务器拒绝此请求"
},{
"code": 404,
"message": "无此接口,服务器找不到请求的网页"
},{
"code": 405,
"message": "客户端请求中的方法被禁止,服务器禁用了请求中指定的方法"
},{
"code": 406,
"message": "不接受,服务器无法根据客户端请求的内容特性完成请求,无法使用请求的内容响应请求的网页"
},{
"code": 407,
"message": "需要代理授权,请求要求代理的身份授权认证,"
},{
"code": 408,
"message": "请求超时,服务器请求超时"
},{
"code": 409,
"message": "冲突,服务器处理请求时发生了冲突,"
},{
"code": 410,
"message": "已删除,客户端请求的资源已经不存在,"
},{
"code": 411,
"message": "需要有效长度,服务器不接受不含有效内容长度标头字段的请求,服务器无法处理客户端发送的不带Content-Length的请求信息,"
},{
"code": 412,
"message": "未满足前提条件,客户端请求信息的先决条件错误,"
},{
"code": 413,
"message": "请求的实体过大,服务器无法处理,因此拒绝请求,"
},{
"code": 414,
"message": "请求的URI过长,服务器无法处理,"
},{
"code": 415,
"message": "不支持类型,服务器无法处理请求附带的媒体格式,"
},{
"code": 416,
"message": "请求范围不符,客户端请求的范围无效,页面无法提供请求的范围"
},{
"code": 417,
"message": "未满足期望值,服务器无法满足Expect的请求头信息,服务器未满足期望请求标头字段的要求"
},{
"code": 500,
"message": "服务器内部错误,服务器遇到错误,无法完成请求"
},{
"code": 501,
"message": "服务未实现,服务器不具备完成请求的功能"
},{
"code": 502,
"message": "网关错误,服务器作为网关或代理,从上游服务器收到无效响应"
},{
"code": 503,
"message": "服务不可用,服务器目前无法使用"
},{
"code": 504,
"message": "网关超时,服务器作为网关或代理,但是没有及时从上游服务器收到请求"
},{
"code": 505,
"message": "HTTP版本不受支持,服务器不支持请求中所用的HTTP协议版"
},{
"code": 506,
"message": "服务器有一个内部配置错误:对请求的透明内容协商导致循环引用。"
},{
"code": 507,
"message": "服务器有内部配置错误:所选的变体资源被配置为参与透明内容协商本身,因此不是协商过程中的适当端点。"
},{
"code": 508,
"message": "服务器在处理请求时检测到无限循环。"
},{
"code": 509,
"message": "带宽限制(Bandwidth Limit Exceeded),服务器带宽有限"
},{
"code": 510,
"message": "客户端需要对请求进一步扩展,服务器才能实现它。服务器会回复客户端发出扩展请求所需的所有信息"
},{
"code": 511,
"message": "客户端需要进行身份验证才能获得网络访问权限。该状态码不是由源头服务器生成的,而是由控制网络访问的拦截代理服务器生成的。"
}
]

使用示例一:

指定第1个的键值

with open("http_response_status_code.json", mode="r", encoding='utf-8') as j_object:
data = json.load(j_object)
# print(data)
print(data[1]["code"])
print(data[1]["message"])

效果:

image


使用示例二:

遍历判断

with open("http_response_status_code_full.json", mode="r", encoding='utf-8') as j_object:
data = json.load(j_object)
for i in range(1,len(data)):
if data[i]["code"] == 302:
print(data[i]["code"], data[i]["message"])

效果:

image


使用示例三:

遍历判断

## 类型列表包含字典
json_file="http_response_status_code_full.json"
with open(json_file, mode="r", encoding='utf-8') as j_object:
data_list = json.load(j_object)
## 遍历data_list列表内容(得到字典j_dict)
for j_dict in data_list:
if 'code' in j_dict:
## 保存包含 code 的字典(过滤_comment*这些注释字典)
d_dist=j_dict
if 302 in d_dist.values():
## 取状态值 302
print(d_dist['code'])
## 取状态值为 302 的描述信息
print(d_dist['message'])

效果:

image





二、精简键值对(直接把状态码传入,就可以获取到解释内容,比上面遍历方便)

以下状态码保存到文件 http_response_status_code simplify.json


点击展开代码
{
"_comment2": "https://www.cnblogs.com/wutou/p/17738708.html"
"100": "继续,请求者应当继续提出请求。服务器已收到请求的一部分,正在等待其余部分",
"101": "切换协议,服务器已成功处理了请求",
"102": "处理,继续执行",
"103": "预加载,浏览器开始预加载CSS和JavaScript等文件",
"122": "URL太长,请求url太长",
"200": "请求成功,服务器已成功处理了请求",
"201": "已创建,请求成功并且服务器创建了新的资源",
"202": "已接受,服务器已接受请求,但尚未处理",
"203": "非授权信息,服务器已成功处理了请求,但返回的信息可能来自另一个源",
"204": "无内容,服务器成功处理了请求,但没有返回任何内容",
"205": "重置内容,服务器成功处理了请求,内容被重置",
"206": "部分内容,服务器成功处理了部分请求",
"300": "多种选择,针对请求,服务器可执行多种操作",
"301": "永久移动,请求的网页已永久移动到新位置,即永久重定向",
"302": "临时移动,请求的网页暂时跳转到其他页面,即暂时重定向",
"303": "查看其它地址,如果原来的请求是POST,重定向目标文档应该通过GET提取",
"304": "未修改,此次请求返回的网页未修改,继续使用上次的资源",
"305": "使用代理,请求者应该使用代理访问该网页",
"307": "临时重定向,请求的资源临时从其他位置响应",
"400": "错误请求,客户端请求的语法错误,服务器无法理解,服务器无法解析该请求",
"401": "未授权,请求要求用户的身份认证,身份验证或验证未通过",
"403": "禁止访问,服务器拒绝此请求",
"404": "无此接口,服务器找不到请求的网页",
"405": "客户端请求中的方法被禁止,服务器禁用了请求中指定的方法",
"406": "不接受,服务器无法根据客户端请求的内容特性完成请求,无法使用请求的内容响应请求的网页",
"407": "需要代理授权,请求要求代理的身份授权认证,",
"408": "请求超时,服务器请求超时",
"409": "冲突,服务器处理请求时发生了冲突,",
"410": "已删除,客户端请求的资源已经不存在,",
"411": "需要有效长度,服务器不接受不含有效内容长度标头字段的请求,服务器无法处理客户端发送的不带Content-Length的请求信息,",
"412": "未满足前提条件,客户端请求信息的先决条件错误,",
"413": "请求的实体过大,服务器无法处理,因此拒绝请求,",
"414": "请求的URI过长,服务器无法处理,",
"415": "不支持类型,服务器无法处理请求附带的媒体格式,",
"416": "请求范围不符,客户端请求的范围无效,页面无法提供请求的范围",
"417": "未满足期望值,服务器无法满足Expect的请求头信息,服务器未满足期望请求标头字段的要求",
"500": "服务器内部错误,服务器遇到错误,无法完成请求",
"501": "服务未实现,服务器不具备完成请求的功能",
"502": "网关错误,服务器作为网关或代理,从上游服务器收到无效响应",
"503": "服务不可用,服务器目前无法使用",
"504": "网关超时,服务器作为网关或代理,但是没有及时从上游服务器收到请求",
"505": "HTTP版本不受支持,服务器不支持请求中所用的HTTP协议版",
"506": "服务器有一个内部配置错误:对请求的透明内容协商导致循环引用。",
"507": "服务器有内部配置错误:所选的变体资源被配置为参与透明内容协商本身,因此不是协商过程中的适当端点。",
"508": "服务器在处理请求时检测到无限循环。",
"509": "带宽限制(Bandwidth Limit Exceeded),服务器带宽有限",
"510": "客户端需要对请求进一步扩展,服务器才能实现它。服务器会回复客户端发出扩展请求所需的所有信息",
"511": "客户端需要进行身份验证才能获得网络访问权限。该状态码不是由源头服务器生成的,而是由控制网络访问的拦截代理服务器生成的。"
}

使用示例一:

with open("http_response_status_code simplify.json", mode="r", encoding='utf-8') as j_object:
data = json.load(j_object)
# print(data)
print(data["100"])
print(data["102"])

使用示例二:

s = json.load(open('http_response_status_code simplify.json','r',encoding='utf-8'))
# print(s,type(s))
print(s["100"])
print(s["102"])

三、状态码英文版

来源:https://blog.csdn.net/zhu6201976

点击查看代码
# 信息性状态码
100: ('continue',),
101: ('switching_protocols',),
102: ('processing',),
103: ('checkpoint',),
122: ('uri_too_long', 'request_uri_too_long'),
# 成功状态码
200: ('ok', 'okay', 'all_ok', 'all_okay', 'all_good', '\\o/', '✓'),
201: ('created',),
202: ('accepted',),
203: ('non_authoritative_info', 'non_authoritative_information'),
204: ('no_content',),
205: ('reset_content', 'reset'),
206: ('partial_content', 'partial'),
207: ('multi_status', 'multiple_status', 'multi_stati', 'multiple_stati'),
208: ('already_reported',),
226: ('im_used',),
# 重定向状态码
300: ('multiple_choices',),
301: ('moved_permanently', 'moved', '\\o-'),
302: ('found',),
303: ('see_other', 'other'),
304: ('not_modified',),
305: ('use_proxy',),
306: ('switch_proxy',),
307: ('temporary_redirect', 'temporary_moved', 'temporary'),
308: ('permanent_redirect',
'resume_incomplete', 'resume',), # These 2 to be removed in 3.0
# 客户端错误状态码
400: ('bad_request', 'bad'),
401: ('unauthorized',),
402: ('payment_required', 'payment'),
403: ('forbidden',),
404: ('not_found', '-o-'),
405: ('method_not_allowed', 'not_allowed'),
406: ('not_acceptable',),
407: ('proxy_authentication_required', 'proxy_auth', 'proxy_authentication'),
408: ('request_timeout', 'timeout'),
409: ('conflict',),
410: ('gone',),
411: ('length_required',),
412: ('precondition_failed', 'precondition'),
413: ('request_entity_too_large',),
414: ('request_uri_too_large',),
415: ('unsupported_media_type', 'unsupported_media', 'media_type'),
416: ('requested_range_not_satisfiable', 'requested_range', 'range_not_satisfiable'),
417: ('expectation_failed',),
418: ('im_a_teapot', 'teapot', 'i_am_a_teapot'),
421: ('misdirected_request',),
422: ('unprocessable_entity', 'unprocessable'),
423: ('locked',),
424: ('failed_dependency', 'dependency'),
425: ('unordered_collection', 'unordered'),
426: ('upgrade_required', 'upgrade'),
428: ('precondition_required', 'precondition'),
429: ('too_many_requests', 'too_many'),
431: ('header_fields_too_large', 'fields_too_large'),
444: ('no_response', 'none'),
449: ('retry_with', 'retry'),
450: ('blocked_by_windows_parental_controls', 'parental_controls'),
451: ('unavailable_for_legal_reasons', 'legal_reasons'),
499: ('client_closed_request',),
# 服务端错误状态码
500: ('internal_server_error', 'server_error', '/o\\', '✗'),
501: ('not_implemented',),
502: ('bad_gateway',),
503: ('service_unavailable', 'unavailable'),
504: ('gateway_timeout',),
505: ('http_version_not_supported', 'http_version'),
506: ('variant_also_negotiates',),
507: ('insufficient_storage',),
509: ('bandwidth_limit_exceeded', 'bandwidth'),
510: ('not_extended',),
511: ('network_authentication_required', 'network_auth', 'network_authentication')

四、http 状态码总结:

image


状态码 说明 例如
1xx 请求收到 100
2xx 请求成功 200
3xx 重新定向 305
4xx 客户端错误 404
5xx 服务器错误 503

免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。




参考、来源:
https://blog.csdn.net/qq_42618566/article/details/132541251
https://blog.csdn.net/qq_38410428/article/details/82726722
https://www.freecodecamp.org/chinese/news/json-comment
https://blog.csdn.net/m0_67402235/article/details/125399368
https://www.zhihu.com/question/386684100/answer/3059074477



posted @   悟透  阅读(198)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示