Github Action链接检查失败:Stack Overflow链接报403错误
问题原因与解决方法
为什么Stack Overflow链接被报失效?
Stack Overflow的反爬机制会拦截自动化工具的请求。GitHub Action中的Sphinx linkcheck属于无浏览器上下文的自动化请求,默认没有携带符合浏览器标准的请求头(比如User-Agent),因此被识别为非人类访问,返回403 Forbidden错误。而手动访问时,浏览器会自动添加合法请求头,所以能正常打开链接。
如何正常添加并通过链接检查?
可以通过以下几种方式解决:
配置自定义请求头:在Sphinx的配置文件
conf.py中添加linkcheck_headers,模拟浏览器的请求标识,让Stack Overflow识别为合法请求:linkcheck_headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36' }优化链接检查参数:在
conf.py中调整链接检查的超时和重试次数,应对临时的网络或反爬限制:linkcheck_timeout = 15 # 延长超时时间 linkcheck_retries = 2 # 增加重试次数确保链接使用HTTPS协议:将文档中的Stack Overflow链接统一改为
https://开头,避免HTTP到HTTPS的重定向过程中触发反爬拦截。
内容的提问来源于stack exchange,提问作者matteo
相关产品推荐
相关产品推荐

