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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Turn96
0 / 0 / 0
Регистрация: 04.04.2015
Сообщений: 82
#1

HttpURLConnection cookie аутентификация - Программирование Android

12.08.2016, 10:26. Просмотров 451. Ответов 1

Здравствуйте, такой вопрос
есть url1 = http://site.com/accounts/login/?next=/
где post запросом передается user,pass
если все правильно то перенаправляет на url2 = http://site.com/
вопрос как правильно залогинится??
делал так
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
 String url_site = "https://site.com/accounts/login/?next=/";
                String cookies = CookieManager.getInstance().getCookie(url_site);
                URL url = new URL(url_site);
 
                urlConnection = (HttpURLConnection) url.openConnection();
 
                urlConnection.setReadTimeout(10000);
                urlConnection.setConnectTimeout(15000);
                urlConnection.setRequestMethod("POST");
                urlConnection.setDoInput(true);
                urlConnection.setDoOutput(true);
 
 
                List<NameValuePair> paramss = new ArrayList<NameValuePair>();
                paramss.add(new BasicNameValuePair("username", "009"));
                paramss.add(new BasicNameValuePair("password", "Aspire"));
 
 
                OutputStream os = urlConnection.getOutputStream();
                BufferedWriter writer = new BufferedWriter(
                        new OutputStreamWriter(os, "UTF-8"));
                writer.write(getQuery(paramss));
                writer.flush();
                writer.close();
                os.close();
                urlConnection.connect();
                String COOKIES_HEADER = "Set-Cookie";
 
                java.net.CookieManager msCookieManager = new java.net.CookieManager();
 
                Map<String, List<String>> headerFields = urlConnection.getHeaderFields();
                List<String> cookiesHeader = headerFields.get(COOKIES_HEADER);
 
                if(cookiesHeader != null)
                {
                    for (String cookie : cookiesHeader)
                    {
                        msCookieManager.getCookieStore().add(null, HttpCookie.parse(cookie).get(0));
                        Log.e("Jesus",HttpCookie.parse(cookie).get(0)+"");
                    }
                }
 
                url = new URL("https://site.com/");
 
                urlConnection = (HttpURLConnection) url.openConnection();
 
                urlConnection.setReadTimeout(10000);
                urlConnection.setConnectTimeout(15000);
                urlConnection.setRequestMethod("GET");
                urlConnection.setDoInput(true);
                urlConnection.setDoOutput(true);
                if(msCookieManager.getCookieStore().getCookies().size() > 0)
                {
                    //While joining the Cookies, use ',' or ';' as needed. Most of the server are using ';'
                    urlConnection.setRequestProperty("Cookie",
                            TextUtils.join(";",  msCookieManager.getCookieStore().getCookies()));
                }
 
 
 
                urlConnection.connect();
 int responseCode=urlConnection.getResponseCode();
 
                if (responseCode == HttpsURLConnection.HTTP_OK) {
                    String line;
                    BufferedReader br=new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                    while ((line=br.readLine()) != null) {
                        resultJson+=line;
                    }
                }
                else {
                    resultJson="";
 
                }
 
                //resultJson = buffer.toString();
 
            } catch (Exception e) {
                e.printStackTrace();
            }
            return resultJson;
не получается
в логах возращает мне респонс страницы где нужно ввести логин и пароль то есть url1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2016, 10:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос HttpURLConnection cookie аутентификация (Программирование Android):

HttpUrlConnection - Программирование Android
Всем привет, не могу разобраться с HttpUrlConnection, написал код по рекомендациям Android и что-то работает не так. По порядку. 1)...

Использование HttpURLConnection - Программирование Android
Всем привет. замечаю странное поведение коннекта к локальному серваку - который реально всегда доступен по вай фаю. Запросы делаются раз...

HttpURLConnection, ошибка - Программирование Android
Пытаюсь получить данную xml из инета: http://katolik.ru/mir.feed?type=rss try { URL url = new URL(&quot;...

HttpURLConnection запрос - Программирование Android
Делаю запрос на сервер public class AsyncTaskc extends AsyncTask&lt;Void, String, String&gt; { private String urls; public...

HttpURLConnection - не читает заголовки и контент - Программирование Android
Делаю прямую авторизацию Вконтакте (отбитая тема, как я понял). Запросы на авторизацию провожу в AsyncTask и таких запроса три, но один...

HttpURLConnection и JSON - обязательно ли наследоваться от AsyncTask? - Программирование Android
Всем доброго времени суток. Помогите пожалуйста, чтобы получить с сайта JSON, обязательно ли наследоваться от AsyncTask&lt;Void, Void, Void&gt;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Борис Верещагин
60 / 39 / 12
Регистрация: 14.01.2016
Сообщений: 183
Завершенные тесты: 4
12.08.2016, 12:06 #2
сниффером проверяй
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2016, 12:06
Привет! Вот еще темы с ответами:

Проверка соединения с сайтом через HttpUrlConnection - Программирование Android
я нашла кучу информации, где после подключения что-либо выдает. Как написать программный код, чтоб выдавало только удалось подсоединиться...

Как отправить данные json через HttpURLConnection - Программирование Android
Здравствуйте! Мне нужно работать с АПИ из приложения. Использую HttpURLConnection URL url = new URL(apiHost); ...

Cookie - Программирование Android
когда пользователь регистрируется в твиттере в куки содержится его логин и пароль верно?? как эти данные извлечь из куки в приложении...

Работа с cookie - Программирование Android
здраствуйде как мне сохранять куки в програме, ато я не могу на сайте залогинитца із за того что у меня нет куки...( вот код: String...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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