Pergunta

Eu quero ser capaz de URLs personalizados de acesso com apache httpclient. Algo parecido com isto:

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

Posso alguma forma registrar um manipulador de URL personalizado? Ou devo apenas registrar um com Java, usando

URL.setURLStreamHandlerFactory(...)

Cumprimentos.

Foi útil?

Solução

Eu não acho que há uma maneira de fazer isso em commons httpclient. Não faz um monte de sentido também, afinal ele é um cliente HTTP e "media: ///squishy.jpg" não é HTTP, então todo o código para implementar o protocolo HTTP provavelmente não poderia ser usado de qualquer maneira .

URL.setURLStreamHandlerFactory(...)

poderia ser o caminho a percorrer, mas você provavelmente vai ter que fazer um monte de protocolo de codificação à mão, dependendo do seu -protocol "media".

Outras dicas

Nós fazemos assim:

 org.apache.commons.httpclient.protocol.Protocol.registerProtocol("ss-https", 
     new Protocol("ss-https",
     (ProtocolSocketFactory)new EasySSLProtocolSocketFactory(), 443));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top