Настройки прокси для Apache Any23 - PullRequest
0 голосов
/ 12 сентября 2018

Я использую библиотеку Any23 в своем проекте Java с Maven и хочу настроить параметры прокси. В настройках веб-сайт из Any23 нет настроек прокси. Я следую учебнику здесь , чтобы выполнить извлечение данных, вот код, который у меня есть:

Any23 runner = new Any23();
runner.setHTTPUserAgent("test-user-agent");
DocumentSource source = null;
try {
    httpClient = runner.getHTTPClient();        
    source = new HTTPDocumentSource(httpClient,
            "https://www.google.com/");
} catch (IOException | URISyntaxException e) {
    e.printStackTrace();
}
ByteArrayOutputStream out = new ByteArrayOutputStream();
TripleHandler handler = new NTriplesWriter(out);
String n3="Empty Result!";
try {
    runner.extract(source, handler);
    handler.close();
    n3 = out.toString("UTF-8");
} 
catch (IOException | ExtractionException | TripleHandlerException e) {
    e.printStackTrace();
}

В строке runner.extract(source, handler); Any23 Вызывает библиотеку Apache Commons для создания HTTP-соединения, но передает нулевую конфигурацию (без прокси-хоста и порта) создателю класса HTTPClient Apache Commons. Я не хочу менять исходный код Any23 (очевидно), и я не могу найти способ передать настройки прокси Any23.

Я использую другие библиотеки, которые используют мои настройки прокси-сервера через переменные среды, которые я задаю следующими строками:

System.setProperty("https.proxyHost", configurations.getProperty("PROXY_HOST"));
System.setProperty("https.proxyPort", configurations.getProperty("PROXY_PORT"));
System.setProperty("http.proxyHost", configurations.getProperty("PROXY_HOST"));
System.setProperty("http.proxyPort", configurations.getProperty("PROXY_PORT"));

Спасибо.

...