Как получить ответ 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);
....
Другие вопросы по тегам