
# 开启JS脚本反爬虫后，为什么客户端请求获取页面失败？
开启JS脚本反爬虫后，当客户端发送请求时，WAF会返回一段JavaScript代码到客户端。如果客户端是正常浏览器访问，就可以触发这段JavaScript代码再发送一次请求到WAF，即WAF完成JS验证，并将该请求转发给源站，如[图1]所示。
图1JS脚本反爬虫正常检测流程   
![](https://support.huaweicloud.com/waf_faq/zh-cn_image_0000001126290859.png "点击放大")
- 如果客户端是正常浏览器访问，就可以触发这段JavaScript代码再发送一次请求到WAF，即WAF完成js验证，并将该请求转发给源站。
- 如果客户端是爬虫访问，就无法触发这段JavaScript代码再发送一次请求到WAF，即WAF无法完成js验证。
- 如果客户端爬虫伪造了WAF的认证请求，发送到WAF时，WAF将拦截该请求，js验证失败。
![](https://support.huaweicloud.com/waf_faq/public_sys-resources/note_3.0-zh-cn.png)
- 开启JS脚本反爬虫，要求客户端浏览器具有JavaScript的解析能力，并开启了Cookie。
- 如果客户端不满足以上要求，则只能完成①和②，此时客户端请求将不能成功获取到页面。
请您排查业务侧是否存在这种场景。如果您的网站有非浏览器访问的场景，建议您关闭JS脚本反爬虫功能。
