Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / Как залогится на https? / 2 сообщений из 2, страница 1 из 1
03.02.2015, 01:27
    #38869954
Pashekka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как залогится на https?
Задался идеей с парсить расписание с сайта, проблема возникла в том что сайт с протоколом https, подскажите плиз как отправить правильно POST запрос на авторизацию с https?

FireFox выдал:

Заголовки запроса

Host: egw.amuletsoft.ru
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: https://egw.amuletsoft.ru/home/index.php
Content-Length: 213
Content-Type: text/plain; charset=UTF-8
Cookie: last_loginid=kovalev;
last_domain=default;
sessionid=b28ffc97c7b26497572126ba13d7df9a;
kp3=6cvlIyR5j5KoNxQPwcVTBPkF;
domain=default;
eGW_remember=login%40default%3A%3A%3A%3Apasswd%3A%3A%3A%3Atext
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

Тело запроса:

Content-Type: application/x-www-form-urlencoded
Content-Length: 141

passwd_type=text&account_type=u&logindomain=default&remember_me=forever&login=login&passwd=passwd&submitit=++%D0%92%D1%85%D0%BE%D0%B4++

Сертификат просрочен, но это я нашел как обойти , принимаю все подряд (в данном случае это не критично).

Пробовал:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(url);
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(6);
                nameValuePairs.add(new BasicNameValuePair("passwd_type", "text"));
                nameValuePairs.add(new BasicNameValuePair("account_type", "u"));
                nameValuePairs.add(new BasicNameValuePair("logindomain", "default"));
                nameValuePairs.add(new BasicNameValuePair("remember_me", ""));
                nameValuePairs.add(new BasicNameValuePair("passwd", "passwd"));
                nameValuePairs.add(new BasicNameValuePair("login", "login"));

                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

                HttpResponse response = httpclient.execute(httppost);
                st = response.toString();


response.toString() =null

P.S. Логин и пароль скрыт соответственно (потом буду менять на окно авторизации, пока для проверки вбил жестко).
Доступа к сайту нет.
...
Рейтинг: 0 / 0
03.02.2015, 13:32
    #38870345
Dim666
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как залогится на https?
Pashekka,

А что response.getStatusLine().getStatusCode() возвращает? И вообще никаких исключений не выпадает по ходу выполнения кода?

Вообще тело ответа через response.getEntity() надо получать. А toString() возможно для HttpResponse просто не реализован.

И запрос лучше отправлять так:
Код: java
1.
2.
3.
HttpEntity entity = new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8);
httppost.addHeader(entity.getContentType());
httppost.setEntity(entity);
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / Как залогится на https? / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]