在爬取某大型网站时有时候可能会出现需要进行手机安全验证的情况。
当爬虫项目是部署在 Linux 服务器上,且采用 --headless无头模式无界面运行时会发现无法进行安全验证。即使在本地有界面的浏览器手工通过了手机认证,但在不同 IP 地址的 Linux 服务器上仍需再次验证。
解决的方式有很多,这里根据实际情况我采用了一种相对轻巧的方式:使用 TinyProxy 将 Linux 服务器设置成代理服务器从而进行 HTTP 代理。这样我们便可在本地浏览器中设置好代理,再由本地操作有界面浏览器进行访问目标网站以及验证等操作,期间请求会被代理服务器所代理,通过这种方式达到让 Linux 服务器通过安全验证的效果。
将运行程序的 Linux 服务器设置成代理服务器有多种方式,这里我采用的是 TinyProxy。Tinyproxy是一个轻量级的HTTP/HTTPS代理守护程序。它从头到脚设计得既快又小,是一种理想的解决方案,适用于需要完整功能的HTTP代理的嵌入式部署,但大型代理的系统资源不可用。
// 安装 tinyproxy
yum -y install tinyproxy
// 修改配置 (修改 Port 端口,默认为 8888,修改Allow 为自己的 IP 地址)
vi /etc/tinyproxy/tinyproxy.conf
// 启动停止等命令如下(这里还需要注意防火墙等设置)
systemctl start tinyproxy.service
systemctl restart tinyproxy.service
systemctl stop tinyproxy.service
systemctl status tinyproxy.service
systemctl enable tinyproxy.service
// 更多关于 TinyProxy 可查看官网
https://tinyproxy.github.io/这里以 chrome 浏览器为例,配置代理步骤如下:
之后重启浏览器进行访问。
以上就是我采用 TinyProxy 代理解决 Linux上 --headless 浏览器无法进行手机安全认证的解决方案,希望对各位有所帮助,
感谢您的阅读,如果喜欢本文欢迎关注和转发,本头条号将坚持持续分享IT技术知识。对于文章内容有其他想法或意见建议等,欢迎提出共同讨论共同进步。
版权声明:我们致力于保护作者版权,注重分享,被刊用文章【代理浏览器(TinyProxy代理解决Linux上无头浏览器手机安全认证)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态
