Open anysoft opened 1 year ago
好想法
受教,我后面改下
- 可以加入socks协议代理的检测。
- 我觉得检测代理第一步不是判断是哪种类型,而是先通过socks判断服务是否可用(或者第一次http协议判断时候直接根据异常类型给该proxy标记为服务不可达,就不再进行下一步判断,因为没有意义了),可用再判断代理类型,这样避免轮询代理类型/可用性/可达性判断的多倍耗时。毕竟不管是哪种类型的代理,几乎都要建立链接才会有下一步操作(udp协议除外)
你好,请问一下你说的“通过socks判断服务是否可用”是类似于tcp.ping.pe那样,用sock.connect_ex测试ip+port是否可达么? 另外,也请教一下,现在的代理json中没有type属性(http https socks:local<-->proxy),只是测试local via proxy <-->http 和https两个网站,如果false,是local--proxy的问题还是proxy--target的问题似乎没有区分。对于给代理增加类型属性, 请问有没有什么好的方式。对于给代理增加类型属性, 请问有没有什么好的方式。
谢谢
@ @leobigivan 希望大佬能增加个type socks
以下个人整理,如有错漏欢迎指正,一起讨论让项目发展更好。
@jhao104
几点知识
http代理和https代理的区别: http/https/socks4/socks5/socks5h/vmess/vless等都是代理服务器提供服务时候与客户端通讯的协议,即cleint <--->proxy server 采用哪种协议。
python的request库中proxies对象其中key包括http/https/socks5等
代码部分
httpTimeOutValidator
检测,是判断代理是否http协议,那么proxyies 写法应该是{"http": "http://{proxy}".format(proxy=proxy), "https": "http://{proxy}".format(proxy=proxy)}
httpsTimeOutValidator
proxyies 写法应该是{"http": "https://{proxy}".format(proxy=proxy), "https": "https://{proxy}".format(proxy=proxy)}
我的改法如下:具体可以看我fork的仓库
一些想法