как зарегистрировать обработчик URL-адресов для Apache Commons httpclient
-
02-07-2019 - |
Вопрос
Я хочу иметь доступ к пользовательским URL-адресам с помощью Apache httpclient.Что-то вроде этого:
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("media:///squishy.jpg");
int statusCode = client.executeMethod(method);
Могу ли я как-то зарегистрировать собственный обработчик URL-адресов?Или мне следует просто зарегистрировать его на Java, используя
URL.setURLStreamHandlerFactory(...)
С уважением.
Решение
Я не думаю, что есть способ сделать это в httpclient.Это тоже не имеет особого смысла, в конце концов, это HTTP-клиент, а «media:///squishy.jpg» — это не HTTP, поэтому весь код для реализации протокола HTTP, вероятно, в любом случае нельзя будет использовать. .
URL.setURLStreamHandlerFactory(...)
это может быть правильным решением, но вам, вероятно, придется вручную писать много протоколов, в зависимости от вашего «медиа»-протокола.
Другие советы
Мы делаем это следующим образом:
org.apache.commons.httpclient.protocol.Protocol.registerProtocol("ss-https",
new Protocol("ss-https",
(ProtocolSocketFactory)new EasySSLProtocolSocketFactory(), 443));
Не связан с StackOverflow