wie URL-Handler für Apache Commons Httpclient registrieren
-
02-07-2019 - |
Frage
Ich möchte in der Lage sein, individuellen Zugriff auf URLs mit Apache Httpclient. So etwas wie folgt aus:
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("media:///squishy.jpg");
int statusCode = client.executeMethod(method);
Kann ich irgendwie einen benutzerdefinierten URL-Handler registrieren? Oder sollte ich mich registrieren nur ein mit Java, mit
URL.setURLStreamHandlerFactory(...)
Viele Grüße.
Lösung
Ich glaube nicht, dass es eine Möglichkeit, dies in commons zu tun Httpclient. Es braucht nicht eine ganze Menge Sinn entweder zu machen, schließlich ist es ein HTTP-Client ist und „Medien: ///squishy.jpg“ HTTP ist nicht, so die gesamte Code des HTTP-Protokoll zu implementieren wahrscheinlich sowieso nicht verwendet werden könnte, .
URL.setURLStreamHandlerFactory(...)
könnte der Weg zu gehen, aber Sie werden wahrscheinlich eine Menge Protokoll Codierung von Hand zu tun haben, abhängig von Ihrem „Medien“ -Protokoll.
Andere Tipps
Wir machen es wie folgt aus:
org.apache.commons.httpclient.protocol.Protocol.registerProtocol("ss-https",
new Protocol("ss-https",
(ProtocolSocketFactory)new EasySSLProtocolSocketFactory(), 443));