come registrare il gestore url per i comuni apache httpclient
-
02-07-2019 - |
Domanda
Voglio poter accedere a URL personalizzati con apache httpclient. Qualcosa del genere:
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("media:///squishy.jpg");
int statusCode = client.executeMethod(method);
Posso in qualche modo registrare un gestore URL personalizzato? O dovrei semplicemente registrarne uno con Java, usando
URL.setURLStreamHandlerFactory(...)
Saluti.
Soluzione
Non credo che ci sia un modo per farlo in httpclient comuni. Non ha nemmeno molto senso, dopo tutto è un client HTTP e " media: ///squishy.jpg" non è HTTP, quindi tutto il codice per implementare il protocollo HTTP probabilmente non può essere utilizzato comunque.
URL.setURLStreamHandlerFactory(...)
potrebbe essere la strada da percorrere, ma probabilmente dovrai fare molta codifica del protocollo a mano, a seconda del tuo protocollo "media".
Altri suggerimenti
Lo facciamo in questo modo:
org.apache.commons.httpclient.protocol.Protocol.registerProtocol("ss-https",
new Protocol("ss-https",
(ProtocolSocketFactory)new EasySSLProtocolSocketFactory(), 443));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow