测量HTTP,HTTPS,SOCKS代理的运行状况

时间:2017-03-17 16:26:39

标签: java sockets tcp ip icmp

我有代理列表,例如this。它包含所有类型的代理:HTTP,HTTPS,SOCKS等。我想计算每个代理的心跳(健康)每X分钟。

我找到了很好的例子,人们如何通过Java套接字ping IP地址:

Socket s = new Socket(hostname, port);
s.getOutputStream().write((byte) '\n');
int ch = s.getInputStream().read();
s.close();
if (ch == '\n') // its all good.

问题

我需要使用哪种协议(协议)来ping HTTP,HTTPS,SOCKS服务器?

1 个答案:

答案 0 :(得分:2)

该代码不使用ICMP,它会打开到端口的TCP连接。

打开TCP连接(或实际上,使用ICMP)仅验证主机网络堆栈是否能够响应,它不验证代理本身的运行状况。要做到这一点,您必须使用代理协议实际建立连接并验证代理到外部资源。