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.

War es hilfreich?

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));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top