как зарегистрировать обработчик URL-адресов для Apache Commons httpclient

StackOverflow https://stackoverflow.com/questions/148350

  •  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));
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top