1 package us.codecraft.webmagic.utils;
2
3 import org.slf4j.Logger;
4 import org.slf4j.LoggerFactory;
5 import us.codecraft.webmagic.proxy.Proxy;
6
7 import java.io.IOException;
8 import java.net.InetSocketAddress;
9 import java.net.Socket;
10
11
12
13
14
15
16
17
18 public class ProxyUtils {
19
20 private static final Logger logger = LoggerFactory.getLogger(ProxyUtils.class);
21
22 public static boolean validateProxy(Proxy p) {
23 Socket socket = null;
24 try {
25 socket = new Socket();
26 InetSocketAddress endpointSocketAddr = new InetSocketAddress(p.getHost(), p.getPort());
27 socket.connect(endpointSocketAddr, 3000);
28 return true;
29 } catch (IOException e) {
30 logger.warn("FAILRE - CAN not connect! remote: " + p);
31 return false;
32 } finally {
33 if (socket != null) {
34 try {
35 socket.close();
36 } catch (IOException e) {
37 logger.warn("Error occurred while closing socket of validating proxy", e);
38 }
39 }
40 }
41
42 }
43
44 }