Apache Commons의 URL 처리기를 등록하는 방법 httpclient
-
02-07-2019 - |
문제
Apache httpclient로 사용자 정의 URL에 액세스 할 수 있기를 원합니다. 이 같은:
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("media:///squishy.jpg");
int statusCode = client.executeMethod(method);
어떻게 든 사용자 정의 URL 핸들러를 등록 할 수 있습니까? 아니면 Java에 하나만 등록하고
URL.setURLStreamHandlerFactory(...)
문안 인사.
해결책
나는 Commons httpclient에서 이것을 할 수있는 방법이 없다고 생각합니다. 결국 HTTP 클라이언트이고 "미디어 : //squishy.jpg"는 HTTP가 아니므로 HTTP 프로토콜을 구현하는 모든 코드는 어쨌든 사용할 수 없었을 것입니다. .
URL.setURLStreamHandlerFactory(...)
갈 길이 될 수 있지만 "미디어"-프로토콜에 따라 손으로 많은 프로토콜 코딩을해야 할 것입니다.
다른 팁
우리는 다음과 같이합니다.
org.apache.commons.httpclient.protocol.Protocol.registerProtocol("ss-https",
new Protocol("ss-https",
(ProtocolSocketFactory)new EasySSLProtocolSocketFactory(), 443));
제휴하지 않습니다 StackOverflow