6

コードで 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 リクエストを作成するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

3

マニフェスト ファイルにインターネット アクセス許可を追加しましたか?

そうでない場合は、AndroidManifest.xml に次の行を追加します。

<uses-permission android:name="android.permission.INTERNET" /> 
于 2012-04-04T12:48:50.903 に答える