Android 无法解析http连接的主机
我正在通过这个程序尝试一个简单的http连接,但是获取resourcenotfoundexception,无法解析主机“www.google.com”:没有与主机名关联的地址。这背后的原因是什么Android 无法解析http连接的主机,android,Android,我正在通过这个程序尝试一个简单的http连接,但是获取resourcenotfoundexception,无法解析主机“www.google.com”:没有与主机名关联的地址。这背后的原因是什么 public class HttpClientActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle s
public class HttpClientActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
// .permitAll().build();
// StrictMode.setThreadPolicy(policy);
// connect();
new Connection().execute();
}
private class Connection extends AsyncTask {
@Override
protected Object doInBackground(Object... arg0) {
connect();
return null;
}
}
private void connect() {
try {
DefaultHttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://www.google.com");
HttpResponse response = client.execute(request);
} catch (ClientProtocolException e) {
Log.d("HTTPCLIENT", e.getLocalizedMessage());
} catch (IOException e) {
Log.d("HTTPCLIENT", e.getLocalizedMessage());
}
}
}
请验证是否允许您从应用程序访问internet 其权限在
AndroidManifest.xml
中定义。
请确保您具有以下权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
你能帮我一下吗,现在还不为我工作。我想知道你犯了什么错误。你可以发布你的日志吗?因为如果你正在使用此代码,那么错误将不同。我尝试了此代码。我也收到了一个错误,ResourceNotFound,无法解析主机,address NotFound。我相信你正在使用Emulator。正如你在评论中提到的。尝试查看emulator是否打开了任何使用浏览器的网页。或者只是你在模拟器中的互联网连接没有打开,我试着在这方面做了同样的工作,现在开始工作,谢谢大家,请检查一下,使http连接似乎无法通过模拟器工作
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
HttpURLConnection urlc = (HttpURLConnection) (new URL("http://www.google.com").openConnection());
urlc.setRequestProperty("User-Agent", "Test");
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(1000);
urlc.connect();
Log.i(Tag,Integer.toString(urlc.getResponseCode()));