我尝试使用代码生成http get请求:
String username = "test\\v100";
String host = "1.2.3.4";
String password = "pass";
HttpClient client = new DefaultHttpClient();
AuthScope as = new AuthScope(host, 90);
UsernamePasswordCredentials upc = new UsernamePasswordCredentials(username, password);
((AbstractHttpClient) client).getCredentialsProvider().setCredentials(as, upc);
BasicHttpContext localContext = new BasicHttpContext();
BasicScheme basicAuth = new BasicScheme();
localContext.setAttribute("preemptive-auth", basicAuth);
HttpHost targetHost = new HttpHost(host, 90, "http");
HttpGet httpget = new HttpGet("/");
HttpResponse response = client.execute(targetHost, httpget, localContext);
但是在最后一行获得异常“java.net.SocketException:Permission denied”。
Android-2.2与eclipse IDE。
主机系统中的卷曲请求
curl -u test\v100:pass "http://1.2.3.4:90"
工作正常。
如何以正确的方式发出http请求?
谢谢!
答案 0 :(得分:3)
您是否在清单文件中添加了互联网权限?
如果没有,请在AndroidManifest.xml中添加以下行:
<uses-permission android:name="android.permission.INTERNET" />