POST запрос с помощью JSOUP

400
25 декабря 2016, 19:42

Есть сайт. На нем нужно узнать расписание преподавателей. Я отследил какие данные откуда идут. Значит:

  1. Идёт GET-запрос на http://schedule.npi-tu.ru/ajax/list_prep?term=Алексанян+Г+К. Отсюда мы получаем три параметра. Их значения: KFAK, KKAF, KPERP
  2. Идёт POST-запрос на http://schedule.npi-tu.ru/ajax/print_table и мы получаем уже html код с расписанием.

Проблема в том, что я не знаю, как осуществить это с помощью JSOUP. Я пробовал делать так:

private static String userAgent = "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36";
public static void main(String[] args){

        try {
            Connection.Response res = Jsoup.connect("http://schedule.npi-tu.ru/ajax/print_table")
                    .userAgent(userAgent)
                    .method(Connection.Method.POST)
                    .data("KFAK", "A")
                    .data("KKAF", "3")
                    .data("KPREP", "5")
                    .referrer("http://schedule.npi-tu.ru/application/prep")
                    .execute();
            Map<String, String> cookies = res.cookies();
            Document doc2 = Jsoup
                    .connect("http://schedule.npi-tu.ru/application/prep")
                    .userAgent(userAgent)
                    .cookies(cookies)
                    .get();
            s = doc2.html();
            System.out.println(s);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            System.out.println(e.toString());
            tracker = false;
        }
    }

Но из этого ничего не вышло.

Answer 1

Получить таблицу можно вот так. А дальше с ней можно работать как угодно.

    Document doc = Jsoup.connect("http://schedule.npi-tu.ru/ajax/print_table")
            .data("KFAK", "A")
            .data("KKAF", "3")
            .data("KPREP", "5")
            .post();
    System.out.println(doc.getElementsByTag("tbody"));
READ ALSO
PatternSyntaxException при вызове replaceAll()

PatternSyntaxException при вызове replaceAll()

Есть участок кода:

309
Многострочный вывод ячейки в JTable

Многострочный вывод ячейки в JTable

Здравствуйте, столкнулся с проблемой, что никак не могу заставить исходниками из интернета, которые, как говорят их авторы "работают", заставить...

363
Не срабатывает getView и другие странности Android Studio

Не срабатывает getView и другие странности Android Studio

ЗдравствуйтеИмеются классы унаследованные от Fragment и реализующие интерфейс CursorLoader

334
Ожидание нажатия кнопки

Ожидание нажатия кнопки

Как сделать, чтобы запущенный метод ждал нажатие кнопки?

796