多站点GET请求响应码不一致问题及自动化解决方案咨询
解决方案
一、代码自动化批量获取响应码(推荐)
用Python的requests库可轻松实现批量请求并记录响应码,完美适配你的JSON文件:
- 先安装依赖库(未安装的话):
pip install requests
- 示例代码逻辑:
- 读取存储网站信息的JSON文件
- 遍历每个网址发送GET请求,捕获响应码
- 可选:将响应码写回JSON,新增
working_response_code字段
示例代码:
import json import requests # 读取JSON文件(假设文件名为websites.json,结构为[{"name": "网站名称", "url": "网址"}, ...]) with open('websites.json', 'r', encoding='utf-8') as f: websites = json.load(f) # 批量请求并记录响应码 for site in websites: try: response = requests.get(site['url'], timeout=10) site['working_response_code'] = response.status_code print(f"{site['name']}: {response.status_code}") except requests.exceptions.RequestException as e: # 处理超时、无法连接等异常 site['working_response_code'] = "请求失败" print(f"{site['name']}: 请求失败 - {str(e)}") # 将更新后的数据写入新JSON文件(可选) with open('websites_updated.json', 'w', encoding='utf-8') as f: json.dump(websites, f, ensure_ascii=False, indent=4)
运行后会生成包含各网站响应码的新JSON文件,全程无需手动记录。
二、正确使用浏览器开发者工具Network面板
若需手动验证单个网站响应码,按以下步骤操作:
- 打开浏览器开发者工具(快捷键F12或Ctrl+Shift+I)
- 切换到Network面板
- 刷新目标页面(或手动触发请求)
- 在请求列表中找到主请求(通常是第一个,类型标记为
document) - 查看列表里的Status列,数字即为响应码(如200、403)
- 点击该请求,在右侧Headers标签的Response Headers中也能找到
Status字段
三、是否需要新增working_response_code字段?
取决于你的实际需求:
- 如果后续代码需要基于响应码判断请求是否符合预期(比如部分网站403是正常状态),建议新增该字段持久化存储,方便后续直接读取使用
- 如果只是临时统计响应码,无需写入JSON,直接打印或导出为表格即可
内容的提问来源于stack exchange,提问作者Krishna Gunjan
相关产品推荐
相关产品推荐

