我想用Java编写一个只是浏览器的应用程序。但我需要它来显示一些具有不同域名的网页。 FXP。 IP:10.0.0.2,域名" mydomain"。它应该像hosts文件中的这一行一样工作:
10.0.0.2 mydomain
这可以在不更改本地主机文件或创建本地DNS服务器的情况下实现吗?
我想在Android手机上使用此浏览器。
编辑: 我目前正在使用Webview加载这样的网站:
String url = "http://10.0.0.2";
WebView view = (WebView)this.findViewById(R.id.webView);
view.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
view.getSettings().setJavaScriptEnabled(true);
view.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d("shouldOverrideUrlLoad", url);
if ((url.startsWith("http://mydomain")) || (url.startsWith("http://10.0.0.2"))) {
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
Log.d("onPageStarted", url);
}
@Override
public void onLoadResource(WebView view, String url) {
Log.d("onLoadResource", url);
}
@Override
public void onPageFinished(WebView view, String url) {
Log.d("onPageFinished", url);
}
});
Map<String, String> extraHeaders = new HashMap<String, String>();
extraHeaders.put("Host","mydomain");
view.loadUrl(url, extraHeaders);
它正在运作,但资源存在问题。我需要加载每个请求&#34; Host&#34;标题修改并通过IP作为url。我可以在onLoadResource事件中编辑它,或者我应该在哪里以及如何编辑它?
感谢您的回答!