2008-09-29 10 views
1

Je veux être en mesure d'accéder à des URL personnalisées avec apache httpclient. Quelque chose comme ceci:comment enregistrer le gestionnaire d'url pour apache commons httpclient

HttpClient client = new HttpClient(); 
HttpMethod method = new GetMethod("media:///squishy.jpg"); 
int statusCode = client.executeMethod(method); 

Puis-je en quelque sorte enregistrer un gestionnaire d'URL personnalisé? Ou devrais-je simplement en enregistrer un avec Java, en utilisant

URL.setURLStreamHandlerFactory(...) 

Cordialement.

Répondre

0

Je ne pense pas qu'il y ait un moyen de le faire dans httpclient commun. Cela n'a pas beaucoup de sens non plus, après tout c'est un client HTTP et "media: ///squishy.jpg" n'est pas HTTP, donc tout le code pour implémenter le protocole HTTP ne pourrait probablement pas être utilisé de toute façon .

URL.setURLStreamHandlerFactory(...) 

pourrait être le chemin à parcourir, mais vous aurez probablement à faire beaucoup de codage de protocole à la main, en fonction de votre -protocol « media ».

1

nous le faisons comme ceci:

org.apache.commons.httpclient.protocol.Protocol.registerProtocol("ss-https", 
    new Protocol("ss-https", 
    (ProtocolSocketFactory)new EasySSLProtocolSocketFactory(), 443));