我试图用代码发出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”。
带有 Eclipse IDE 的 Android-2.2。
主机系统中的 curl 请求
curl -u test\v100:pass "http://1.2.3.4:90"
工作正常。
我怎样才能以正确的方式发出http请求?
谢谢!