java使用代理ip爬取網站內容
阿新 • • 發佈:2019-01-10
在一些有反爬蟲技術的網站中,檢測到同一ip在短時間內多次訪問的時候,可能就會禁掉這個ip。
上有政策,下有對策,為了應對這種情況,可以使用多個代理ip去爬取這個網站。
java使用代理ip有兩種方法:
1.設定System系統屬性
// 設定代理IP
System.getProperties().setProperty("proxySet", "true");
System.getProperties().setProperty("http.proxyHost", "218.26.204.66");
System.getProperties().setProperty ("http.proxyPort", "8080");
HttpURLConnection connection = (HttpURLConnection)new URL("http://www.baidu.com/").openConnection();
connection.setConnectTimeout(6000); // 6s
connection.setReadTimeout(6000);
connection.setUseCaches(false);
if(connection.getResponseCode == 200)
{
System.out.println( "使用代理IP連線網路成功");
}
2.使用java.net.Proxy類
// 使用java.net.Proxy類設定代理IP
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("123.22.43.3", 8080));
HttpURLConnection connection = null;
try {
connection = (HttpURLConnection)new URL("http://www.baidu.com/").openConnection (proxy);
} catch (IOException e) {
e.printStackTrace();
}
connection.setConnectTimeout(6000); // 6s
connection.setReadTimeout(6000);
connection.setUseCaches(false);
try {
if(connection.getResponseCode() == 200)
{
System.out.println("使用代理IP連線網路成功");
}
} catch (IOException e) {
e.printStackTrace();
}