我想浏览一些我已经拥有的代理网站(当然我想要的应用程序)。我想以编程方式更改它(无需转到设置或其他第三个应用程序)。
这就是我所做的:
public class WebViewActivity extends Activity {
WebView web;
String PROXY_IP = "MyProxy";
int PROXY_PORT = MyPort;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web_view);
web = (WebView) findViewById(R.id.webView1);
web.setWebViewClient(new myWebClient());
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl("MyURL");
if (PROXY_IP != null) {
DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.getCredentialsProvider().getCredentials(new AuthScope(PROXY_IP, PROXY_PORT));
new UsernamePasswordCredentials("username","passsword");
HttpHost proxy = new HttpHost(PROXY_IP, PROXY_PORT);
}
}
我使用webview来做这件事。我已经尝试过使用phonegap并只编辑资产。但我对一些PHP代码感到困惑。所以我决定改用webview。
问题是如何使用我的代理来制作我的网页视图。
注意:我使用的是GB 2.3
答案 0 :(得分:1)
您是否尝试过Android代理库? https://github.com/shouldit/android-proxy-library
这可能是你的解决方案
答案 1 :(得分:1)
解决了问题。在webview onCreate
我必须调用url。像这样web = callURL();
并加载url使用loadDatawithBaseUrl。之后你必须做一个public class callURL(){
。在那里设置代理。像这样
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpHost proxy = new HttpHost("your host", your proxy); //proxy that i need
httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, proxy);
httpClient.getCredentialsProvider().setCredentials(
new AuthScope("your host", your proxy),
new UsernamePasswordCredentials(
"your username", "your password"));
然后在httpget中。也打电话给你的网址。而已。祝你好运
答案 2 :(得分:0)
尝试以下方法。我不知道这是否正确。试试吧。
DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.getCredentialsProvider().setCredentials(AuthScope.ANY,new
NTCredentials(user, pass, null, null));