SSL-соединение с webclient.getpage из ошибки клиента Java 403 - PullRequest
1 голос
/ 10 января 2012

У меня досадная проблема, возможно, кто-то уже обратился.

У меня есть решение, которое подключается к странице HTTPS (вы загружаете сертификат в случае его отсутствия или изменения), предоставляет пароль сертификата, а затем отправляет данные.

До недавнего времени я использовал этот код, который отлично работал

Protocol authhttps = new Protocol("https", new org.apache.commons.httpclient.contrib.ssl.AuthSSLProtocolSocketFactory(keyStoreKeys, qCertPassword, null, qCertPassword), 443); 
Protocol.registerProtocol("https", authhttps);

WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3);

DefaultCredentialsProvider userCredentials = (DefaultCredentialsProvider) webClient.getCredentialsProvider();
userCredentials.addCredentials(qUsername, qPassword, host, 443, realm);
webClient.setCredentialsProvider(userCredentials);

HtmlPage page = webClient.getPage(SiteHttpsUrl);

Сертификат загружен клиенту; если я иду на страницу входа с OpenConnection, не дает ошибок. Сертификат НЕ самоподписан, и я не использую прокси.

Но теперь протокол производителя (org.apache.commons.httpclient.protocol.Protocol с JDK 1.6.0_18 и HTTPclient 3.1 или выше), который содержал AuthSSLProtocolSocketFactory, устарел и больше не может подавать, что приводит к ошибке защиты 403, запуск getPage .

Мне нужно использовать WebClient для симуляции нажатий кнопок и ссылок.

Что я могу сделать?

...