Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 45, средняя оценка - 4.76
Bes-s
30 / 30 / 2
Регистрация: 05.11.2011
Сообщений: 178
#1

Получение JSON с https сервера - Программирование Android

25.06.2012, 16:27. Просмотров 6224. Ответов 15
Метки нет (Все метки)

Стоит задача: получить с сервера данные в JSON формате. На сервере используется Basic Authentication. Логин пароль нужно передавать у формате: Логин:Пароль.
А также url сервера отдает неподписанные сертификаты.
Проблема в том, что я не смог найти способа игнорировать проверку сертификатов. Делаю это так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
TrustManager[] trustAllCerts = new TrustManager[]{
                new X509TrustManager() {
                    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                        return null;
                    }
                    public void checkClientTrusted(
                            java.security.cert.X509Certificate[] certs, String authType) {
                    }
                    public void checkServerTrusted(
                            java.security.cert.X509Certificate[] certs, String authType) {
                    }
                }
        };
        try {
            SSLContext sc = SSLContext.getInstance("TLS");
            sc.init(null, trustAllCerts, new java.security.SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
        } catch (Exception e) {}
но тогда проверка не вырубается для HttpGet... и тут я несколько не понимаю как можно получить JSON без гета...

еще проблема: авторизуюсь таким образом:
Java
1
2
3
4
5
6
URL url = new URL(tasklist);
            HttpURLConnection c = (HttpURLConnection) url.openConnection();
            String temps = new String(edLog.getText().toString()+":"+edPass.getText().toString());
            c.setRequestProperty("Authorization", "basic " + Base64.encode(temps.getBytes(),0));
            c.setUseCaches(false);
            c.connect();
но сначала получал от сервера OK в реквесте, независимо от введенных данных... затем только bad request...

полностью запутался в этой теме. раньше с таким не сталкивался... объясните, или помогите линком на какой нибудь толковый ман, с таким же механизмом получения JSON с сервера...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.06.2012, 16:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Получение JSON с https сервера (Программирование Android):

Получение JSON с сервера - Программирование Android
Есть класс который принимает строку URL и возвращает JSONObject public class Json { public static JSONObject getJson(String...

Не могу получить json по https - Программирование Android
Доброго времени суток не могу получить json по https коннект проходит package com.devcolibri.parser; import...

Https соединение с сертфикатам пользователя и сервера - Программирование Android
Добрый день. Есть следующая ситуация. Есть сервер, у него есть свой сертификат. Есть клиент, у него свой сертификат. Заходя через браузер...

Получение ответа в формате json - Программирование Android
пытаюсь получить ответ в формате json от моего php скрипта и разобрать его. В общих чертах: new...

Отправка и получение картинок JSON - Программирование Android
Всем привет, может кто подскажет простой пример того, как: 1 преобразовать Bitmap изображение и кинуть его на сервер 2 имея ссылку с...

Парсинг JSON ответа от сервера - Программирование Android
Здравствуйте друзья, давно не заходил к вам в гости. Столкнулся с таким интересным (интересно построенным) ответом от сервера в формате...

15
obrazer
70 / 70 / 1
Регистрация: 04.09.2012
Сообщений: 170
08.09.2012, 23:01 #16
И да, вот еще случайно заметил...
Java
1
byte[] enc = Base64.encode("www:www".getBytes("UTF16"), Base64.DEFAULT);
.getBytes("UTF16") - UTF16 не обязательно, это осталось от экспериментов. Точнее, я даже не знаю как должно быть, потому как не заработало ни в каких вариантах кодировки.

Кто в курсе, подскажите как правильнее штатными средствами переводить текст в текстовое представление Base64.
0
08.09.2012, 23:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2012, 23:01
Привет! Вот еще темы с ответами:

Как правильно парсить json с сервера - Программирование Android
Здравствуйте. У меня есть JSON, полученный с сервера, имеет приблизительно такой вид: В приложении будет два таба, в...

Получение текста с сервера - Программирование Android
Здраствуйте, как получить текст с сервера? Например, файл расположен по пути test.com/test.txt. Мне требуется получить с него текст и...

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

Получение сообщений от сервера без запроса - Программирование Android
Среди существующих тем не нашёл ответа на свой вопрос, поэтому решил задать сам. Попытаюсь объяснить, что я имел в виду. Пишу...


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

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

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