链接可正常访问但Github Action的URL Checker检测失败如何处理
urlchecker Action误报正常链接的排查点
- 请求UA配置问题:大部分站点会拦截特征明显的爬虫请求UA,urlchecker默认的UA可能被目标站点拦截。你可以在action配置中自定义UA,例如设置为常规浏览器的UA:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 - 重定向规则配置问题:若目标链接存在301/302等重定向逻辑,而urlchecker没有开启跟随重定向的开关,就会将重定向响应判定为错误。可检查配置中是否有
follow_redirects类参数,将其设置为true,同时可适当调高最大重定向次数阈值。 - GitHub Action IP被拦截问题:GitHub Action运行节点的IP大多归属AWS服务段,很多站点会主动拦截该网段的请求。该场景下可直接将对应链接加入urlchecker的白名单跳过检测即可。
- SSL证书校验问题:若目标站点使用自签名SSL证书、或者证书根CA比较新,urlchecker运行环境的根证书库未收录对应CA时,会触发SSL校验错误。可针对该链接关闭SSL校验,或者在检测步骤前先更新运行环境的CA证书包。
- 速率限制触发问题:如果同域名下检测的链接较多、并发请求量过大,很容易触发目标站点的限流规则,返回429错误。可调低action的并发请求数,加大请求间隔时间避免被限流。
- 响应码判定规则问题:部分正常站点会返回403、406等非200状态码,但实际浏览器可正常访问,若urlchecker仅将200判定为正常状态码就会出现误报。可在配置中将这类实际可访问的状态码加入允许的响应码列表。
- URL编码问题:若链接包含中文、空格、特殊符号,浏览器会自动完成转义,但urlchecker可能直接请求未转义的原始链接导致报错。可手动将链接中的特殊字符做URL编码后再替换到文档中。
内容的提问来源于stack exchange,提问作者Agrover112
相关产品推荐
相关产品推荐

