Имя: Пароль:
1C
 
get post json и 1с
,
0 BaHgaJI
 
02.02.15
13:51
Решил опробовать api от правительства Москвы.
Никак не могу получить ответ, например, отправляю запрос на
http://api.pub.emp.msk.ru:8081/json/v10.0/citizens/auth/registerCode, если через браузер, то возвращает {"errorCode":403,"errorMessage":"Core::Authorization failed."}, как мне получить такой же результат в 1с?
Пробовал вот так:

    Сервер = "api.pub.emp.msk.ru:8081";
    Ресурс = "/json/v10.0/citizens/auth/registerCode";
    
    HTTP =  Новый HTTPСоединение(Сервер,,,,,Истина);
    ФайлЗапроса = ПолучитьИмяВременногоФайла();       
    
    СтрокаJSON = ЗаписатьJSON(ПараметрыЗапроса);
    
    ТекстовыйФайл = Новый ТекстовыйДокумент;
    ТекстовыйФайл.УстановитьТекст(СтрокаJSON);                                   
    ТекстовыйФайл.Записать(ФайлЗапроса, КодировкаТекста.ANSI);
    
    ФайлРезультата = ПолучитьИмяВременногоФайла();
    
    ЗаголовокHTTP = Новый Соответствие();
    ФайлОтправки = Новый Файл(ФайлЗапроса);
    РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
    ЗаголовокHTTP.Вставить("Content-Length", РазмерФайлаОтправки);
    ЗаголовокHTTP.Вставить("Content-Type", "application/json; charset=utf-8");
    
HTTP.ОтправитьДляОбработки(ФайлЗапроса, Ресурс, ФайлРезультата,ЗаголовокHTTP);

вылетатет ошибка,Ошибка инициализации SSL-соединения, куда копать? Пробовал методом Получить(), тажа самая ошибка
1 BaHgaJI
 
02.02.15
14:03
СтрокаJSON = {
"token":"7da46cccb17d11e2b27c08002779",
"msisdn": "70000000033"
}
2 BaHgaJI
 
02.02.15
14:27
Вопрос немного изменился)))

Вот так:
    СерверИсточник = "api.pub.emp.msk.ru:8081";
    НТТР = Новый HTTPСоединение(СерверИсточник);
    
    Адрес = "/json/v10.0/citizens/auth/registerCode";
    ВремКаталог = КаталогВременныхФайлов();
    мИмяФайла ="123.txt";
    Попытка
        НТТР.Получить(Адрес, ВремКаталог + мИмяФайла);
    Исключение
        Сообщить("Неудачная попытка соединения.");
    КонецПопытки;

Возвращает все правильно {"errorCode":403,"errorMessage":"Core::Authorization failed."}

А как передать туда параметр? (строкуJSON)
3 Asmody
 
02.02.15
14:29
HTTP.Post()
4 DirecTwiX
 
02.02.15
14:31
HTTPСоединение.ОтправитьДляОбработки?
5 BaHgaJI
 
02.02.15
14:33
(3),(4) ну да, см (0) ОтправитьДляОбработки ошибку выдает
6 BaHgaJI
 
02.02.15
14:34
Может кодировка неправильная?
7 Asmody
 
02.02.15
14:37
и кодировка неправильная, и SSL ни к месту впихнут
8 BaHgaJI
 
02.02.15
14:39
(7) а конкретнее можно?
9 BaHgaJI
 
02.02.15
14:40
Может  WinHttp использовать?
10 olo_lo1
 
02.02.15
15:57
(0) пиши почту пришлю парсер JSON - 1С
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн