#java #proxy
#java #прокси
Вопрос:
Я пишу Web scraper на Java, но я нахожусь за прокси-сервером, и это все очень усложняет.
Это код подключения:
public void scrape(String url, String filename) throws Exception {
this.url = url;
this.filename = filename;
System.out.println("Scraping " url);
System.out.println("Saving to "" this.filename """);
try {
makeConnection();
createStream();
writeToFile();
System.out.println("Scrape was successful");
} catch (Exception e) {
System.err.println("Error: " e.getMessage());
}
}
private void makeConnection() throws Exception {
// Set proxy info
System.setProperty("java.net.useSystemProxies", "true");
URL address = new URL(url);
connection = address.openConnection();
}
Это вывод:
Scraping http://feeds.bbci.co.uk/news/northern_ireland/rss.xml
Saving to "../rss/northern_ireland.xml"
Error: Connection timed out
Есть ли лучший способ установить параметры прокси-сервера?
Ответ №1:
Вы можете использовать класс java.net.Proxy, представленный в Java 1.5 … http://download.oracle.com/javase/1.5.0/docs/api/java/net/Proxy.html
Краткое описание того, как он используется, можно найти здесь: http://download.oracle.com/javase/6/docs/technotes/guides/net/proxies.html
Ответ №2:
Возможно, системные настройки прокси настроены не так, как вы ожидали. Попробуйте явно задать системные свойства JVM http.proxyPort
, http.proxyHost
и http.nonProxyHosts
.