2008-09-29 4 views
1

Я хочу иметь доступ к настраиваемым URL-адресам с apache httpclient. Что-то вроде этого:Как зарегистрировать url-обработчик для apache commons httpclient

HttpClient client = new HttpClient(); 
HttpMethod method = new GetMethod("media:///squishy.jpg"); 
int statusCode = client.executeMethod(method); 

Могу ли я как-то зарегистрировать собственный обработчик URL-адресов? Или я должен просто зарегистрировать его на Java, используя

URL.setURLStreamHandlerFactory(...) 

С уважением.

ответ

0

Я не думаю, что есть способ сделать это в общедоступной среде httpclient. Это тоже не имеет большого смысла, ведь он является клиентом HTTP, а «media: ///squishy.jpg» не является HTTP, поэтому весь код для реализации HTTP-протокола, вероятно, не может быть использован в любом случае ,

URL.setURLStreamHandlerFactory(...) 

может быть путь, но вам, возможно, придется сделать много кодирования протокола вручную, в зависимости от вашего «медиа» -Протокол.

1

Мы делаем это следующим образом:

org.apache.commons.httpclient.protocol.Protocol.registerProtocol("ss-https", 
    new Protocol("ss-https", 
    (ProtocolSocketFactory)new EasySSLProtocolSocketFactory(), 443));