Форум программистов, компьютерный форум CyberForum.ru

POST авторизация с использованием JSOUP - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Заполнение ListView в AsyncTask http://www.cyberforum.ru/android-dev/thread1411813.html
Нужно заполнить ListView картинками, которые скачиваются в AsyncTask с помощью Picasso. Картинки скачиваются нормально, ArrayList и ArrayAdapter заполняются, но при adapter.notifyDataSetChanged(); в onProgressUpdate(); вылезает Exception - ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. В чём проблема и как лучше решить...
Android Преобразование EditText в Double Здравствуйте, понемногу изучаю андроид и вот уперся в проблему, точнее в не знание. Есть EditText в нем указал что можно вводить только десятичные числа. А вот теперь сама проблема как правильно все перевести, запись такого плана не прокатывает editText = editText + 2; ну это и логично. Следовательно надо как то editText перевести в double. Подскажите как это сделать? Да и учитывая что только... http://www.cyberforum.ru/android-dev/thread1411782.html
Android Studio. Установка приложения на эмулятор. Application Installation Failed Android
С недавних пор перестали устанавливаться на эмулятор абсолютно все мои приложения. Даже только что созданный пустой проект не устанавливается. Все время вываливается ошибка на скрине. Как исправить подскажите пожалуйста?
Как сохранять добавленное в ListView поле? Android
День добрый. Подскажите как можно сохранять добавленное поле , что бы в следующий раз при запуске приложения оно было и добавлять к имеющимся уже public class MainActivity extends Activity { ArrayList<String> massname; EditText edittext ; ListView List ; ArrayAdapter<String> adapter ; @Override
Android Обработка нажатия на RadioButton http://www.cyberforum.ru/android-dev/thread1411653.html
Постигаю андроид. Не могу разобраться со свичем. EditText принимает число, сохранил его, дальше выбираю RadioBatton и нифига не происходит) public void onClick(View view) { switch (view.getId()) { case R.id.radioMetr:
Android Изменять изображение в зависимости от количества нажатий Всем привет , помогите нубу) Как сделать чтобы , кликая на кнопку, допустим 100 раз появилось изображение ,200 раз другое public class MainActivity extends ActionBarActivity { public int mCount = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button... подробнее

Показать сообщение отдельно
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254

POST авторизация с использованием JSOUP - Android

04.04.2015, 15:17. Просмотров 2327. Ответов 16
Метки (Все метки)

Вот собственно и у меня дедлок случился))

Ситуация следующая, пытаюсь залогиниться на joy.reactor.cc


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package com.noxx.joyreactor.Net;
 
 
import android.app.Activity;
import android.os.AsyncTask;
import android.util.Log;
 
import com.noxx.joyreactor.Global;
 
import org.jsoup.Connection;
import org.jsoup.helper.HttpConnection;
import org.jsoup.nodes.Document;
 
import java.io.IOException;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class Auth {
    Activity activity;
    Global global;
    int DEFAULT_TIMEOUT = 7000;
 
    public Auth(Activity activity) {
        this.activity = activity;
        this.global = (Global) activity.getApplication();
    }
 
    public void doAuth() {
        new AuthTask().execute();
    }
 
    void makeAuth() {
        Document doc = null;
        try {
 
 
            String loginURL = "http://joy.reactor.cc" + "/login";
            String itemURL = "http://joy.reactor.cc";
            String useragent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36";
            String login = "login";
            String pass = "pass";
 
            //получаем страницу входа
            Connection.Response response1 = HttpConnection.connect(loginURL)
                    .ignoreHttpErrors(true)
                    .userAgent(useragent)
                    .execute();
            //цапаем оттуда токен
            String token = "";
            Matcher matcher = Pattern.compile("token = '(.*)'").matcher(response1.parse().select("html").html());
            if (matcher.find()) {
                token = matcher.group(1);
                Log.d("token", token);
            }
            for (Map.Entry<String, String> cookie : response1.cookies().entrySet()) {
                Log.d("cookie1", cookie.getKey() + " : " + cookie.getValue());
            }
            for (Map.Entry<String, String> head : response1.headers().entrySet()) {
                Log.d("headers1", head.getKey() + " : " + head.getValue());
            }
 
            //делаем пост запрос
            Connection connection2 = HttpConnection.connect(loginURL).cookies(response1.cookies())
                    .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8")
                    .header("Accept-Encoding", "gzip, deflate")
                    .header("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4")
                    .header("Cache-Control", "max-age=0")
                    .header("Connection", "keep-alive")
                    .header("Content-Length", "114")
                    .header("Content-Type", "application/x-www-form-urlencoded")
                    .header("Host", "joy.reactor.cc")
                    .header("Origin", "http://joy.reactor.cc")
                    .header("Referer", "http://joy.reactor.cc/login")
                    .data("signin[username]", login)
                    .data("signin[password]", pass)
                    .data("signin[_csrf_token]", token)
                    .userAgent(useragent)
                    .method(Connection.Method.POST)
                    .followRedirects(true);
 
            Connection.Response response2 = connection2.execute();
            for (Map.Entry<String, String> cookie : response2.cookies().entrySet()) {
                Log.d("cookie2", cookie.getKey() + " : " + cookie.getValue());
            }
            for (Map.Entry<String, String> head : response2.headers().entrySet()) {
                Log.d("headers2", head.getKey() + " : " + head.getValue());
            }
 
            // получаем страницу (уже должны быть авторизованы
            Connection connection3 = HttpConnection.connect(itemURL + "/all").userAgent(useragent).cookies(response2.cookies());
            Connection.Response response3 = connection3.execute();
            for (Map.Entry<String, String> cookie : response3.cookies().entrySet()) {
                Log.d("cookie3", cookie.getKey() + " : " + cookie.getValue());
            }
            for (Map.Entry<String, String> head : response3.headers().entrySet()) {
                Log.d("headers3", head.getKey() + " : " + head.getValue());
            }
            Document tt = response3.parse();
            String t = tt.select(".login").html();
            System.out.println(t);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
    class AuthTask extends AsyncTask<Void, Void, Void> {
 
        @Override
        protected Void doInBackground(Void... params) {
            makeAuth();
            return null;
        }
    }
}


в логах имеем

Кликните здесь для просмотра всего текста
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/token﹕ 37293b9efea7edb5a4a5b7d950bc46dc
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/cookie1﹕ joyreactor : ver305319a4a97f6b9f5a285ae6834fd86ff:8f564790953b1891ba64b6b0c86f8d0f36435f0f
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ Cache-Control : private
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ Connection : keep-alive
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ Content-Encoding : gzip
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ Content-Type : text/html; charset=utf-8
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ Date : Fri, 03 Apr 2015 16:03:11 GMT
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ Server : nginx/1.6.2
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ Transfer-Encoding : chunked
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ Vary : Accept-Encoding
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ X-Android-Received-Millis : 1428076991209
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ X-Android-Response-Source : NETWORK 401
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ X-Android-Sent-Millis : 1428076990976
04-03 19:03:12.676 26529-26553/com.noxx.joyreactor D/headers1﹕ X-Powered-By : PHP/5.4.37

04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ Cache-Control : private
04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ Connection : keep-alive
04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ Content-Encoding : gzip
04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ Content-Type : text/html; charset=utf-8
04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ Date : Fri, 03 Apr 2015 16:03:13 GMT
04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ Server : nginx/1.6.2
04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ Transfer-Encoding : chunked
04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ Vary : Accept-Encoding
04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ X-Android-Received-Millis : 1428076992941
04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ X-Android-Response-Source : NETWORK 200
04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ X-Android-Sent-Millis : 1428076992689
04-03 19:03:13.003 26529-26553/com.noxx.joyreactor D/headers2﹕ X-Powered-By : PHP/5.4.37

04-03 19:03:13.403 26529-26553/com.noxx.joyreactor D/cookie3﹕ joyreactor : ver37016d7b2fd70acb1f79bc904751a05d6:9b9dd710f5dc9d4ac948fe03aaa31ce1385be0a5
04-03 19:03:13.444 26529-26553/com.noxx.joyreactor D/headers3﹕ Cache-Control : private
04-03 19:03:13.444 26529-26553/com.noxx.joyreactor D/headers3﹕ Connection : keep-alive
04-03 19:03:13.444 26529-26553/com.noxx.joyreactor D/headers3﹕ Content-Encoding : gzip
04-03 19:03:13.444 26529-26553/com.noxx.joyreactor D/headers3﹕ Content-Type : text/html; charset=utf-8
04-03 19:03:13.444 26529-26553/com.noxx.joyreactor D/headers3﹕ Date : Fri, 03 Apr 2015 16:03:13 GMT
04-03 19:03:13.444 26529-26553/com.noxx.joyreactor D/headers3﹕ Server : nginx/1.6.2
04-03 19:03:13.467 26529-26553/com.noxx.joyreactor D/headers3﹕ Transfer-Encoding : chunked
04-03 19:03:13.467 26529-26553/com.noxx.joyreactor D/headers3﹕ Vary : Accept-Encoding
04-03 19:03:13.467 26529-26553/com.noxx.joyreactor D/headers3﹕ X-Android-Received-Millis : 1428076993259
04-03 19:03:13.467 26529-26553/com.noxx.joyreactor D/headers3﹕ X-Android-Response-Source : NETWORK 200
04-03 19:03:13.467 26529-26553/com.noxx.joyreactor D/headers3﹕ X-Android-Sent-Millis : 1428076993004
04-03 19:03:13.467 26529-26553/com.noxx.joyreactor D/headers3﹕ X-Powered-By : PHP/5.4.37

04-03 19:03:13.657 26529-26553/com.noxx.joyreactor I/System.out﹕ <a href="/register">Регистрация</a>
04-03 19:03:13.657 26529-26553/com.noxx.joyreactor I/System.out﹕ <a href="/login">Вход</a>


результатом будут две последние строки, содержащие логин (в любой из них)


Что делаю не так? уже 4й день завис на этом

Добавлено через 9 минут
Получение страницы входа

Кликните здесь для просмотра всего текста
General
Remote Address:50.7.136.178:80
Request URL:http://joy.reactor.cc/login
Request Method:GET
Status Code:401 Unauthorized

Response Headers
Cache-Controlrivate
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Fri, 03 Apr 2015 16:13:55 GMT
Server:nginx/1.6.2
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:PHP/5.4.37

Request Headers
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Cookie:joyreactor=ver31e757874556261564de818ca53f1ae24:6ab955bd16ab4a4feb7cb6b0e3a929a5d6398557
Host:joy.reactor.cc
Referer:http://joy.reactor.cc/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36


POST запрос авторизации

Кликните здесь для просмотра всего текста
General
Remote Address:50.7.136.178:80
Request URL:http://joy.reactor.cc/login
Request Method:POST
Status Code:302 Found

Response Headers
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Fri, 03 Apr 2015 16:15:35 GMT
Location:http://joy.reactor.cc/
Server:nginx/1.6.2
Set-Cookie:joyreactor=ver3c1eea151beeddca27c28749be16b3b17:240e601ecb17d1888dd936aacea17655a0e80ddf; expires=Mon, 06-Apr-2015 16:15:35 GMT; path=/; domain=.joy.reactor.cc; httponly
Set-Cookie:remember=f94b3b22e111f911f66de52c9fa2e257; expires=Sat, 18-Apr-2015 16:15:35 GMT; path=/; domain=.joy.reactor.cc; httponly
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:PHP/5.4.37

Request Headers
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:138
Content-Type:application/x-www-form-urlencoded
Cookie:joyreactor=ver31e757874556261564de818ca53f1ae24:6ab955bd16ab4a4feb7cb6b0e3a929a5d6398557
Host:joy.reactor.cc
Origin:http://joy.reactor.cc
Referer:http://joy.reactor.cc/login
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36

Form Data
signin[username]:$@#$@#
signin[password]:$@#$@#
signin[remember]:on
signin[_csrf_token]:b53e85f61369b60fb247687a9e96b43c


Страница после авторизации

Кликните здесь для просмотра всего текста
General
Remote Address:50.7.136.178:80
Request URL:http://joy.reactor.cc/
Request Method:GET
Status Code:200 OK

Response Headers
Cache-Controlrivate
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html; charset=utf-8
Date:Fri, 03 Apr 2015 16:15:36 GMT
Server:nginx/1.6.2
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:PHP/5.4.37

Request Headers
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
Cookie:joyreactor=ver3c1eea151beeddca27c28749be16b3b17:240e601ecb17d1888dd936aacea17655a0e80ddf; remember=f94b3b22e111f911f66de52c9fa2e257
Host:joy.reactor.cc
Referer:http://joy.reactor.cc/login
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36


Добавлено через 19 часов 58 минут
Путем болей и мучений нашел в чем дело, на 2 response мне возвращается страница, содержащая кое что интересное

"csrf token: CSRF attack detected."

Копаю далее
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru