目前手里有一批 http 代理服务器, ip:port 的形式,但是需要用户和密码登陆(已有),怎样才能有效、快速的验证其可用性?搜了一圈,只找到不需要用户密码登陆的相关软件。
|
1
写小段代码验证下,没多少行代码
|
|
3
10 年前有个花刺代理 天天在家换 IP 玩
|
|
4
同上 花刺代理 现在还可以用呢
|
|
5
bash:
curl -m 5 "baidu.com" -x ip:port 2>/dev/null |grep -c "www.baidu.com" cmd: curl -m 5 "baidu.com" -x ip:port 2>nul |find /C "www.baidu.com" |
|
6
bash: ```
curl -m 5 "baidu.com" -x [PROTOCOL://]HOST[:PORT] -U USER[:PASSWORD] 2>/dev/null |grep -c "www.baidu.com" ``` cmd: ``` curl -m 5 "baidu.com" -x [PROTOCOL://]HOST[:PORT] -U USER[:PASSWORD] 2>nul |find /C "www.baidu.com" ``` |
|
8
@schezukNewTos 例如 curl -m 5 “ baidu.com ” -x 1.1.1.1:80 -U 1234:1234 2>/dev/null |grep -c "www.baidu.com" 返回 0 ,何解?
|
|
9
@schezukNewTos 大概是不是这么个意思:拉取 baidu.com 的 metal2 次,通过-x ip:port -U user:pwd 代理。 结果重定向到 null ,然后管道到 grep -c "www.baidu.com"字符串的数量?
|
|
terence4444Jun 28, 2016 via iPhone
10
10 几年前我用代理猎手验证百度首页上的字符串…
|
|
11
@terence4444 麻烦看清题目,代理是需要用户名和密码认证的。
|
|
12
@schezukNewTos 管道后面的参数没起作用,加不加输出一样,另外还是没办法批量检测呀?麻烦告知你的思路。
|
|
gimpJun 28, 2016
13
|
|
15
@wuxiao2522 给我几个代理的例子,我可以给你写个 node.js 的验证
|
|
16
@shiny 抱歉,由于这些代理是内部的,不能共享。可否给你公共代理,没有认证的这种让你测试?然后我加上正确的用户名密码,就可以了。比如 http://www.xicidaili.com/这上面的代理服务器,本身是不需要认证的,但是你任意加上用户名和密码,也是能通过的。
|
|
17
|
|
19
@wuxiao2522
当代理正常, curl 输出应为百度跳转页: <html> <meta http-equiv="refresh" content="0;url=http://www.baidu.com/"> </html> 如果代理错误可能返回含"baidu.com"的页面,或无返回,但不会返回"www.baidu.com" -m 五秒超时;-x 代理;-U 代理认证; 2>/dev/null 或 2>nul : stderr 输出到*nix 和 dos 空文件(不然你会看到下载进度) 管道右侧获取包含"www.baidu.com"的行数。 代理错误一般会有 0 行( false ),正确一般会有 1 行( true ), 2 行以上是脚本出漏洞了。 |
|
schezukNewTosJun 28, 2016
20
然后批量的话你可以改写成 bash 函数啊,或者批处理 call 之类的。
我反正会直接把结果复制到 excel 里…… |
|
schezukNewTosJun 28, 2016
21
而且写脚本你也可以用 excel 的(笑)
|
|
kn007Jun 28, 2016
22
关注
|
|
23
@wuxiao2522 先装个 node.js ,然后在命令行输入 npm i proxy-filter -g
然后在命令行输入: pfilter --input 代理列表.txt --output 想要保存的有效列表名称.txt pfilter -h 查看更多可用命令,包括 代理连接超时时间和同时并发数。 开源到了 https://github.com/daijie/proxy-filter |
|
24
测试代理访问 vps 时能访问,且 IP 不是本机即可。
|
|
25
*现在的年轻人还真是衣来伸手饭来张口呢*
推荐个服务 httpbin.org http_proxy=http://{PROXY_USER}:{PROXY_PASSWORD}@{PROXY_IP}:{PROXY_PORT} curl --connect-timeout 10 http://httpbin.org/ip 访问成功会得到: { "origin": "某个.I.P.地址" } 对比一下 origin 是不是上面的 PROXY_IP 就好了. 如果超时,就表示代理不通。 如果想知道代理 IP 是不是所谓高度匿名的,可以用 http://httpbin.org/get 这个接口,看 headers 里有没有什么 X-Real-IP 、 X-Forwared-For 之类的。 这服务同时可以用 https 访问,所以也可以用来验证代理服务器是否支持 HTTP Connect ~ |
|
26
@wuxiao2522 支持啊 我上次刷票买了一堆代理 IP 里面就有的 他自动加载会识别的
|
|
27
|
|
jqw1992Jun 29, 2016
29
访问百度什么,可以访问网站,有正确返回数据的 就是对的
|
|
fingerstyleApr 5, 2017
30
nc 扫端口验证 tcp 状态, curl 请求返回值验证 http 状态,两次验证通过后确认代理线路正常,亲测有效。尤其适合做梯子多线路检测。。
|