我有代理列表,例如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服务器?
答案 0 :(得分:2)
该代码不使用ICMP,它会打开到端口的TCP连接。
打开TCP连接(或实际上,使用ICMP)仅验证主机网络堆栈是否能够响应,它不验证代理本身的运行状况。要做到这一点,您必须使用代理协议实际建立连接并验证代理到外部资源。