Android がキャプティブ ポータルに接続しようとすると、リダイレクトの前に HTTP データを取得しようとします。
コードのスニペットは次のとおりです。
httpclient = new DefaultHttpClient(/*params*/);
String url = "http://google.com";
Log.d("test_runner", "URL: " + url);
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
if (entity != null) {
entity.consumeContent();
}
for(Header h : response.getAllHeaders()){
Log.d("test_runner", h.toString());
}
Log.d("test_runner", response.getStatusLine().getStatusCode() + "");
response.getStatusLine();
使用するFiddler Web Debugger
と、次のフローが表示されます。
したがって、最初に受信ステータス 302 が必要で、リダイレクト ステータス 200 が必要です。
ただし、リダイレクト後はすぐに応答が返されます。
Android が自動的にリダイレクトするように聞こえますが、それをキャッチできません。
リダイレクトの前に応答情報を取得するにはどうすればよいですか (Fiddler の 1 行目、302 のヘッダー)。
ありがとうございました