سؤال

أحاول استخدام مكتبة مكونات APACE HTTP الأساسية الأخيرة (4.0.1). ومع ذلك، يمر مستعرض الويب الخاص بي عبر وكيل - لنفترض أنه myproxy.com:9191. هل يمكن لشخص ما تقديم بعض التعليمات البرمجية لعينة للحصول على HTTP بسيط لاستخدام هذا كوكيل؟

لقد حاولت إضافة ما يلي في بداية التعليمات البرمجية، ولكن ليس لديه فرحة:

ProxySelector.setDefault(new ProxySelector() {
  public List<Proxy> select(URI uri) {
    Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("myproxy.com", 9191);
    return Arrays.asList(new Proxy[]{proxy)});
  }
  public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
    ioe.printStackTrace();
  }
});
هل كانت مفيدة؟

المحلول

في غياب إجابة، إليك ما اكتشفته.

أولا، لهذا النوع من الأشياء، لا تريد فقط استخدام مكتبة HTTP الأساسية، وتريد استخدامها httpclient. كذلك، تأكد من تنزيل كل من صفحة التنزيل.

ثانيا، استخدم هذا الرمز:

DefaultHttpClient httpclient = new DefaultHttpClient();
HttpHost proxy = new HttpHost("myproxy.com", 9191);
httpclient.getCredentialsProvider().setCredentials(
  new AuthScope(PROXY, PROXY_PORT),
  new UsernamePasswordCredentials("username", "password"));
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top