一旦接收到连接,HTTP代理服务器就会创建一个新的线程(小型服务器),在新线程(如必需的)中对连接进行处理,然后接受用户的请求。如果请求的数据位于缓冲区中,则使用HTTP协议向客户流程发送数据,否则,需要连接到相应的WWW服务器,才能获得所需数据。获取所需数据后,代理服务器将其返回给客户流程,并将其存储到服务器的缓冲中,以备下次使用。
自己搭建高质量亿级IP的HTTP/Socks5隧道代理
一、前言
在做爬虫、数据采集、账号搜索项目时,需要用到高质量代理IP。目前比较流行也是最常见的代理IP服务,大部分是通过api链接提取。通过不断的访问api接口,api服务器返回一个或多个可用代理IP,然后将代理IP应用于自己的程序或软件中。api服务器维护了一个可用IP池,并且不断在更新加入新的可用IP。客户端访问时,则返回最新可用IP。
API提取方式简单实现,但也有一定弊端,主要是客户端需要不断的访问api接口获取最新代理,需要一直循环。根据代理质量的不同,获取到的代理不一定全部可用,影响了爬虫的效率。这里推荐 酷鱼代理IP(https://kuyukuyu.com),有动态代理和私密代理,速度和可用率都比较好。
那么,有没有不需要api的代理方式呢,那我们来看看隧道代理。
二、隧道代理是什么
隧道代理只需设置固定接口,云端自动切换不同IP,省去了客户端频繁获取的麻烦。并且通过隧道代理的多路负载技术,大大提高的代理速度和可用率。隧道代理没有一次提取多少个IP的概念,主要是通过对不同客户的并发请求数进行限制。一般可达到50-100次/秒的并发请求。
三、隧道代理架构
如上图,隧道代理工作步骤为:
代理使用者向隧道代理服务器发出请求。例如酷鱼隧道代理地址为:tunnel.kuyukuyu.com。
隧道代理服务器收到代理使用者请求后,会选择最优线路进行转发,在代理使用者和动态代理节点之间建立隧道连接。
动态代理服务器请求代理使用者指定的目标站。
动态代理服务器将目标站返回的结果,直接返回给代理使用者。
四、获取代理IP池
请点击输入图片描述
隧道代理有多个可用路径进行转发,采用多路复用、择优选择技术,提高代理成功率。经测试成功率可达99%以上。
代理服务器返回结果时没有经过隧道代理,而是直接返回给代理使用者。因为隧道代理仅起到建立隧道连接的作用,并不参与数据传输。保障了代理执行效率。
使用方便,需要频繁切换代理。
支持高并发,多客户端同时使用。
五、实现步骤
首先需要找到一个可持续供给的代理IP池,代理IP最好是同时支持HTTP(s)和Socks5协议的,这样我们的隧道代理也可以支持socks5。这里推荐酷鱼私密代理 https://kuyukuyu.com/mains/secret ,可用率99%以上,速度快。
购买后在用户中心获取API提取链接,然后设置白名单和提取数量。
将获取到的代理写入Squid配置文件。/etc/squid/squid.conf
重载配置文件,使用配置生效。
每隔1秒重复一次,并不断循环。
六、Squid使用方法
将squid 做为代理服务器
备份源文件 cp /etc/squid/squid.conf /etc/squid/squid.conf.source,用于脚本自动更新
在squid所在服务器运行脚本。
七、进一步优化
由于squid只支持http(s),不支持socks5协议,所有就算购买的代理池支持socks5,隧道代理也不支持。如需支持socks5,只需要使用其他软件替代squid。如果有这方面的需要可以联系酷鱼代理客服。
可以在隧道代理上使用iptables进行限制访问,达到白名单功能。
iptables还可以对单个客户端请求数量或流量限制,达到限流功能。
文章来源:网页链接
首先,登录浏览器使用
如果使用浏览器浏览网站,可以直接在浏览器上设置代理服务器。将api复制到浏览器时,将显示端口号和用户名密码。输入地址及其端口对应关系,然后输入代理ip地址并确认。
第二,使用代理编写代码
在一点云后台点击API链接,写代码,定时调用API接口,获取代理IP,连接代理服务器在代码中使用。
三、第三方软件使用代理
有很多第三方软件可以设置代理IP使用,比如proxifier工具等。有的可以批量导入代理IP一键使用,有的一次只能复制一个IP使用,有的可以自动调用API获取IP使用。————————————————
版权声明:本文为CSDN博主“Yiuunyun”原创文章,遵循CC 4.0 BY-SA版权协议。转载请附上原出处和本声明的链接。
原文链接:https://blog.csdn.net/Yiuunyun/article/details/125322744
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)