如何为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));
- 在使用NTLM进行身份validation时,HttpClient 4.1.1返回401,浏览器工作正常
- 使用HttpClient4在上传文件中设置标题“Content-Type”时出现问题
- 如何在multithreading操作中使用HttpClient?
- 如何在底层连接有状态时使用Apache HttpClient?
- 如何在Java中使用TLSV1或SSLV3进行第一次握手(Client Hello)?
- 如何使用DefaultHttpClient写入OutputStream?
- 使用HTTP客户端将序列化对象从Android发送到servlet
- 使用HttpClient模拟HTTP POST的问题
- 使用HTTPClient或HttpUrlConnection?