问题概述
爬行大型网站时,有时可能需要验证手机的安全性。
当爬虫项目部署在Linux服务器上,以无接口的无头模式运行时,会发现无法进行安全验证。即使本地接口的浏览器手动通过了手机认证,仍然需要在不同IP地址的Linux服务器上再次验证。
00-1010可以用很多方法解决。在这里,根据实际情况,我采用了一种相对较轻的方式:使用TinyProxy将Linux服务器设置为HTTP代理的代理服务器。这样,我们可以在本地浏览器中设置代理,然后带有接口的本地浏览器将访问目标网站并进行验证,在此期间,请求将由代理服务器来表示。这样,Linux服务器就可以通过安全验证。
解决思路
有很多方法可以将运行程序的Linux服务器设置为代理服务器,这里我使用TinyProxy。Tinyproxy是一个轻量级的HTTP/HTTPS代理守护进程。自上而下设计快速小巧,是一种理想的解决方案,适用于需要完整功能,但大型代理的系统资源不可用的HTTP代理的嵌入式部署。
//安装tinyproxy
yum -y安装tinyproxy
//修改配置(修改端口端口,默认为8888,修改允许作为自己的IP地址)
VI/etc/tinyproxy/tinyproxy . conf
//启停等命令如下(这里需要注意防火墙等设置)
systemctl启动tinyproxy.service
systemctl重新启动tinyproxy.service
停止tinyproxy.service
systemctl状态tinyproxy.service
systemctl启用tinyproxy.service
//关于TinyProxy的更多信息,可以查看官网。
https://tinyproxy.github.io/
设置代理服务器
这里,以chrome浏览器为例。配置代理的步骤如下:
然后重新启动浏览器进行访问。
00-1010以上是我用TinyProxy解决的解决方案——无头浏览器无法在Linux上认证手机安全。希望对你有帮助。
感谢阅读。如果你喜欢这篇文章,请关注IT并转发。本头条将坚持持续分享IT技术知识。如果对文章内容有其他想法、意见和建议,欢迎大家一起讨论,共同进步。