Я пытался сделать запрос http с кодом:
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 в хост-системе
curl -u test\v100:pass "http://1.2.3.4:90"
работает отлично.
Как я могу сделать HTTP-запрос правильным способом?
Благодаря!
Вы добавили разрешение Интернета в файл манифеста?
Если нет, добавьте эту строку в свой AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />