我有代理列表,例如 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.
问题
我需要使用哪种协议(protocol)来 ping HTTP、HTTPS、SOCKS 服务器?
最佳答案
该代码不使用 ICMP,它打开到端口的 TCP 连接。
打开 TCP 连接(或者实际上使用 ICMP)仅验证主机网络堆栈是否能够响应,而不会验证代理本身的运行状况。为此,您必须使用代理协议(protocol)实际建立连接并验证对外部资源的代理。
关于java - 测量 HTTP、HTTPS、SOCKS 代理的运行状况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42862596/