如何为apache commons httpclient注册url处理程序

我希望能够使用apache httpclient访问自定义URL。 像这样的东西:

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

我可以以某种方式注册自定义URL处理程序吗? 或者我应该只使用Java注册一个

 URL.setURLStreamHandlerFactory(...) 

问候。

我认为在commons 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));