HttpsURLConnection. setInstanceFollowRedirects(false) кажется неэффективным

Все. Я использую веб-сканер для запроса интеграла пользователя на некоторых веб-сайтах. Но я попадаю в неприятности. Прежде всего, давайте сосредоточимся на этой картинке: введите описание изображения здесь

Как видите, первый запрос, это код ответа 302, то есть эта страница будет перенаправлена ​​на другую страницу. Теперь посмотрите на мой код, метод входа в систему:

private JuneyResults login(String url, String param) {
    JuneyResults results = new JuneyResults();
    HttpsURLConnection connection = null;
    int contentLength = param.getBytes().length;
    try {
        URL requested = new URL(url);
        connection = (HttpsURLConnection) requested.openConnection();
        connection.setInstanceFollowRedirects(false);
        connection.setDoOutput(true);
        connection.setRequestMethod("POST");
        connection.setRequestProperty("User-Agent", UA);
        connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        connection.setRequestProperty("Cookie", map2String(mCookies));
        connection.setRequestProperty("Content-Length",String.valueOf(contentLength));
        DataOutputStream os = new DataOutputStream(connection.getOutputStream());
        os.write(param.getBytes());
        os.flush();
        os.close();
        switch (connection.getResponseCode()) {
            case HttpURLConnection.HTTP_MOVED_PERM:
            case HttpURLConnection.HTTP_MOVED_TEMP:
                updateJuneyAirCookie(connection);
                break;
            default:
                break;
        }
    } catch (Exception e) {
        results.setException(e.getMessage());
    } finally {
        if (connection != null)
            connection.disconnect();
    }
    return results;
}

Хорошо, я установил свойства заголовка запроса, которые нам точно нужны. И передал false методу setInstanceFollowRedirects. Ожидаемый код ответа - 302, так же, как мы видим на рисунке, но он по-прежнему возвращает 200. Я не думаю, что есть некоторая логическая ошибка в моем коде, однако, факты являются фактами, это действительно возвращает 200, на этой картинке страница была перенаправлена ​​на третью страницу!! Итак, я надеюсь, что некоторые из вас могут помочь мне выяснить, в чем причины являются.

0 ответов

Другие вопросы по тегам