كيفية تسجيل معالج URL لـ Apache Commons httpclient
-
02-07-2019 - |
سؤال
أريد أن أكون قادرًا على الوصول إلى عناوين URL المخصصة باستخدام Apache httpclient.شيء من هذا القبيل:
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("media:///squishy.jpg");
int statusCode = client.executeMethod(method);
هل يمكنني بطريقة أو بأخرى تسجيل معالج URL مخصص؟أم يجب أن أسجل واحدًا فقط في Java باستخدام
URL.setURLStreamHandlerFactory(...)
يعتبر.
المحلول
لا أعتقد أن هناك طريقة للقيام بذلك في httpclient المشاعات.هذا ليس له معنى كبير أيضًا، فهو في النهاية عميل HTTP و"media:///squishy.jpg" ليس HTTP، لذلك ربما لا يمكن استخدام كل التعليمات البرمجية لتنفيذ بروتوكول HTTP على أي حال .
URL.setURLStreamHandlerFactory(...)
يمكن أن يكون هذا هو الحل الأمثل، ولكن ربما سيتعين عليك القيام بالكثير من تشفير البروتوكول يدويًا، اعتمادًا على بروتوكول "الوسائط" الخاص بك.
نصائح أخرى
نحن نفعل ذلك مثل هذا:
org.apache.commons.httpclient.protocol.Protocol.registerProtocol("ss-https",
new Protocol("ss-https",
(ProtocolSocketFactory)new EasySSLProtocolSocketFactory(), 443));
لا تنتمي إلى StackOverflow