当我创建一个DefaultHttpClient对象并尝试访问网页时,请求没有通过我在设置中指定的代理路由。
查看API文档,我没有看到任何地方可以指定代理,尽管Android有一个Proxy类,允许我读取系统的代理设置。
我能否在HttpClient中使用代理设置?
查看API文档,我没有看到任何地方可以指定代理,尽管Android有一个Proxy类,允许我读取系统的代理设置。
我能否在HttpClient中使用代理设置?
尝试:
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpHost proxy = new HttpHost("someproxy", 8080);
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
(选自这里)
System.getProperty("http.proxyHost");
System.getProperty("http.proxyPort");
System.getProperty("https.proxyHost");
System.getProperty("https.proxyPort");
DefaultHttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().getParameter(ConnRoutePNames.DEFAULT_PROXY);
System.setProperty("http.proxyHost", <your proxy host name>);
System.setProperty("http.proxyPort", <your proxy port>);
或者
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpHost httpproxy = new HttpHost("<your proxy host>",<your proxy port>);
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, httpproxy);
或者
HttpHost proxy = new HttpHost("ip address",port number);
DefaultHttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy);
HttpPost httpost = new HttpPost(url);
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("param name", param));
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.ISO_8859_1));
HttpResponse response = httpclient.execute(httpost);
HttpEntity entity = response.getEntity();
System.out.println("Request Handled?: " + response.getStatusLine());
InputStream in = entity.getContent();
httpclient.getConnectionManager().shutdown();
HttpRoute
的构造函数,它接受代理主机作为参数来形成路由...但我不知道如何创建一个将使用它的 HttpClient。http://developer.android.com/reference/org/apache/http/conn/routing/HttpRoute.html - David J. Liszewski