0x00前言
我们在日常开发各类网页访问时,经常需要到代理,面对多线程低的情况下还好,如果遇到线程处理多的,我们经常遇到很多头疼的问题,就比如:代理中途失效?申请IP过慢?代码因为多了个代理功能写法变得更复杂凌乱?
0x01介绍
极速代理也是因为以前做过众多协yi项目时加入的,适用于至今到目前应用过的项目为止,为此特别来强烈介绍给广大易友们加入使用,也为了使其更加稳定,下面容许俺们介绍下其每个功能以及应变多线程时的快速处理方案!
0x02功能
这里提供一个简单的DEMO使用例子,罗列出了基本的初始化功能,我们看下下面的截图,都做了基本的注释。
我们看到在程序运行时将会进行一些参数的初始化,这些都可以根据个人的应用场景去设定;
我们看到按钮2点击时会进行一次使用接口访问百d,并且判断如果返回值不是200(200是成功状态)则再去重新获取代理IP,通过这个例子作为抛砖引玉,我们在多线程时也依旧可以这么处理。
但这仅仅只是开始 ,因为有人会问到,应对多线程里应当如何应对,特别是封装了功能类的,比如代理失效了应该如何应对呢?
0x03多线程
关于多线程处理方案,下面我们继续看下我以往的一个协yi项目截图
我们看到,这里是一个类里面的方法,这里定义了一个设置代理方法,并且需要提供2个参数,1个就是代理IP,1个是一个子程序指针;
就是用于如果IP失效了就会访问这个子程序重新获得一个新代理,接下来我们来看下访问接口时的处理方案。
这里我们可以清楚看到,当接口如果返回状态码不是200时,将会调用刚刚保存的指针用于获取IP,而子程序指针里面的代码,正是DEMO.E里面的含义是一样的,我们可以来看一下截图。
这里就是主程序的执行逻辑,当我们多线程处理项目新建一个类时,先给它获取IP,当IP失效时则重新获取并返回。
0x04结尾
介绍了这么多,相信你应该明白了该极速代理的原理了,上手是非常简单的。最后该模块功能是完全开源的,大家也可以共同讨论参与优化开发,共同积极参与开源项目。