2012-04-04 4 views
6

tôi đã cố gắng để làm cho http get yêu cầu với mã:httpget yêu cầu với auth

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); 

Nhưng có một ngoại lệ "java.net.SocketException: Permission denied" với dòng cuối cùng.

Android-2.2 với IDE nhật thực.

yêu cầu Curl trong hệ thống máy chủ

curl -u test\v100:pass "http://1.2.3.4:90" 

hoạt động tốt.

Tôi làm cách nào để yêu cầu http theo đúng cách?

Cảm ơn!

Trả lời

3

Bạn đã thêm quyền truy cập Internet vào tệp kê khai của mình chưa?

Nếu không, hãy thêm dòng này trong AndroidManifest.xml của bạn:

<uses-permission android:name="android.permission.INTERNET" /> 
+0

Aaaaa, cảm ơn! nó rất đơn giản .. – user1312837