我希望能够使用apache httpclient访问自定义网址。像这样:
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("media:///squishy.jpg");
int statusCode = client.executeMethod(method);
我可以以某种方式注册自定义URL处理程序吗?或者我应该使用
在Java中注册一个URL.setURLStreamHandlerFactory(...)
问候。
答案 0 :(得分:1)
我们这样做:
org.apache.commons.httpclient.protocol.Protocol.registerProtocol("ss-https",
new Protocol("ss-https",
(ProtocolSocketFactory)new EasySSLProtocolSocketFactory(), 443));
答案 1 :(得分:0)
我认为在公共httpclient中有一种方法可以做到这一点。它也没有多大意义,毕竟它是一个HTTP客户端,而“media:///squishy.jpg”不是HTTP,所以实现HTTP协议的所有代码都可能无法使用
URL.setURLStreamHandlerFactory(...)
可能是要走的路,但是您可能需要手动执行大量协议编码,具体取决于您的“媒体”协议。