Cri*_*ian 13 proxy android httpclient
当我创建DefaultHttpClient对象并尝试点击网页时,请求不会通过我在"设置"中指定的代理进行路由.
通过API文档,虽然Android确实有一个允许我读取系统代理设置的Proxy类,但我没有看到任何可以指定代理的地方.
有没有办法在HttpClient中使用代理设置?
Com*_*are 24
尝试:
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpHost proxy = new HttpHost("someproxy", 8080);
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
Run Code Online (Sandbox Code Playgroud)
(从这里剔除)
小智 9
首先,我会确保请求符合您在Android设备设置中设置的代理设置属性.你可以通过查看android.provider.Settings中的System类来通过代码确定这个;
要确定用户是否具有系统代理设置,您可以执行以下操作:
System.getProperty("http.proxyHost");
System.getProperty("http.proxyPort");
System.getProperty("https.proxyHost");
System.getProperty("https.proxyPort");
Run Code Online (Sandbox Code Playgroud)
如果您有DefaultHTTPClient的实例,那么您可以检查它是否也具有相关的代理设置.
DefaultHttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().getParameter(ConnRoutePNames.DEFAULT_PROXY);
Run Code Online (Sandbox Code Playgroud)
这些都是"获取"代理设置的方法,"set"方法以相同的方式实现,可以通过System.setProperty或httpclient.setParams实现.
希望这有帮助!