使用Python自动化检测链接存活状态 解决requests库SSL证书验证报错
Python 批量获取HTTPS链接状态码及SSL验证报错解决方案
报错本质
你遇到的报错是因为目标站点的SSL证书未被本地Python环境的默认根证书库信任,requests库默认开启严格SSL证书校验,因此请求被拦截。
可用解决方案
方法1:跳过SSL校验(适用于测试、确认目标站点安全的场景)
在请求参数中添加verify=False即可绕过证书校验,同时可关闭对应的不安全警告:
import requests # 关闭跳过SSL校验带来的警告提示 requests.packages.urllib3.disable_warnings() resp = requests.get('https://exp04.zih.tu-dresden.de/', verify=False) # 输出状态码 print(resp.status_code)
方法2:指定自定义根证书(适用于生产环境,更安全)
如果需要保留证书校验能力,可以手动导出目标站点的根证书保存为pem格式,请求时指定证书路径即可:
import requests # 括号内路径替换为你本地保存的根证书文件路径 resp = requests.get('https://exp04.zih.tu-dresden.de/', verify='./custom_root_ca.pem') print(resp.status_code)
批量检查链接状态码脚本示例
可以直接用下方脚本批量检测多个链接的可访问性和状态码:
import requests requests.packages.urllib3.disable_warnings() # 此处填入你需要检测的所有链接 check_urls = [ "https://exp04.zih.tu-dresden.de/", # "https://example.com", # "https://test.org" ] for url in check_urls: try: # 超时设为10秒,避免单个请求卡住整个任务 resp = requests.get(url, verify=False, timeout=10) print(f"链接:{url} | 状态码:{resp.status_code}") except Exception as err: print(f"链接:{url} | 访问失败:{str(err)}")
内容的提问来源于stack exchange,提问作者terraregina
相关产品推荐
相关产品推荐

