Jspoup. Не получается построить запрос

231
21 февраля 2018, 09:29

Пробую авторизоваться на этом сайте : https://servgrp.bpmonline.com/Login/NuiLogin.aspx?ReturnUrl=%2f

По этой ссылке страница ввода логина и пароля. Открываю эту страницу мой браузер делает такой запрос:

GET https://servgrp.bpmonline.com/Login/NuiLogin.aspx?ReturnUrl=%2f HTTP/1.1
Host: servgrp.bpmonline.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 OPR/50.0.0.276232826 (Edition EXP170)
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7

и получает ответ:

 HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
Server: Microsoft-IIS/10.0
Set-Cookie: BPMLOADER=yryhdfgr; path=/; secure; HttpOnly
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Date: Mon, 19 Feb 2018 13:28:08 GMT
Content-Length: 7315

вот как я повторил этот запрос:

 Connection.Response resp1 = 
Jsoup.connect("https://servgrp.bpmonline.com/Login/NuiLogin.aspx? 
 ReturnUrl=%2f").method(Connection.Method.GET).execute();

Делаю этот запрос, чтобы получить куки. Мб сервер требует их хоть пока они не идентифицируют меня. Делаю следующий запрос с логином и паролем и смотрю что снифер показывает:

POST https://servgrp.bpmonline.com/ServiceModel/AuthService.svc/Login HTTP/1.1
Host: servgrp.bpmonline.com
Connection: keep-alive
Content-Length: 86
Accept: application/json
X-Request-Source: ajax-provider
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 OPR/50.0.0.276232826 (Edition EXP170)
Origin: https://servgrp.bpmonline.com
Content-Type: application/json
Referer: https://servgrp.bpmonline.com/Login/NuiLogin.aspx?ReturnUrl=%2f
Accept-Encoding: gzip, deflate, br
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: BPMLOADER=yryhdfgr
{"UserName":"Мой логин","UserPassword":"Пароль","TimeZoneOffset":-180}

Когда я проделывал такое с другим сайтом, мои данные передавались не в фигурных скобках. Видать этот сайт принимает Map или массив. Пробую сделать запрос:

Map<String, String>  MyData = new HashMap<String, String>();
        MyData.put("UserName","Мой логин");
        MyData.put("UserPassword", "Пароль");
        MyData.put("TimeZoneOffset","-180");
    Connection.Response resp2 = Jsoup.connect("https://servgrp.bpmonline.com/ServiceModel/AuthService.svc/Login").referrer("https://servgrp.bpmonline.com/Login/NuiLogin.aspx?ReturnUrl=%2f").userAgent(userAgent)
                    .cookies(resp1.cookies())
                    .data(MyData)
                    .data()
                    .method(Connection.Method.POST).timeout(10000).execute();

По этому запросу получаю ошибку: HTTP error fetching URL. Status=400

Провал передать логин и пароль в виде строк:

 Connection.Response resp2 = Jsoup.connect("https://servgrp.bpmonline.com/ServiceModel/AuthService.svc/Login").referrer("https://servgrp.bpmonline.com/Login/NuiLogin.aspx?ReturnUrl=%2f").userAgent(userAgent)
                .cookies(resp1.cookies())
                .data("UserName","Мой логин","UserPassword", "Пароль","TimeZoneOffset","-180")
                .data()
                .method(Connection.Method.POST).timeout(10000).execute();

В запросе который делает браузер {"UserName":"Мой логин","UserPassword":"Пароль","TimeZoneOffset":-180} 180 не внутри кавычек, может в этом причина, что это может значить? И еще если браузер шлет запрос в котором написано , что он поддерживает gzip , то ответ приходит закодированным.

READ ALSO
вывод подкатегорий в select jquery

вывод подкатегорий в select jquery

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

154
график c3.js экспорт в excel

график c3.js экспорт в excel

подскажите, можно ли экспортировать график c3 график в формате png в эксель? хотя бы, может кто логику действий обьясните) просто понимания пока...

204
Как добавить в тело html нумерацию блоков?

Как добавить в тело html нумерацию блоков?

Доброго времени сутокИмеется конструкция вида:

237
Отключение обработки события onclick

Отключение обработки события onclick

У меня есть таблица с 2 элементами при нажатии вы3ывается функция randomImg

187