Как получить ответ GET на Android до перенаправления?
Я пытаюсь получить данные HTTP перед перенаправлением, когда Android пытается подключиться к Captive Portal.
Вот фрагменты кода:
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 перенаправляет автоматически, и я не могу поймать его.
Как я могу получить ответную информацию перед перенаправлением (например, 1-я строка из Fiddler, заголовок 302)?
Спасибо
1 ответ
Решение
Я нашел решение, (не думал так быстро)
HttpParams params = new BasicHttpParams();
HttpClientParams.setRedirecting(params, false);
httpclient = new DefaultHttpClient(params);
....