Apache Commons httpclientのURLハンドラを登録する方法
-
02-07-2019 - |
質問
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));
所属していません StackOverflow