| 
    
            
         
         | 
    
    
  | 
POST запрос ... | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        lamme    
     20.10.20 
            ✎
    11:03 
 | 
         
        Коллеги .. прошу пинать или не пинать ..
 
        Сколько с Post запросами не работаю - не понимаю логики ( Есть точка входа Endpoint: https://www.farpost.ru/good/packet/api/sync заголовки: Content-Type: multipart/form-data Обязательные параметры запроса: packetId (число) auth (строка) data (Файл или бинарный контент) --- само соединение и установка заголовков понятна Прокси = Новый ИнтернетПрокси(); Прокси.Установить("https",,); Прокси.Пользователь = ""; Прокси.Пароль = ""; SSL = Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows()); Попытка HTTP = Новый HTTPСоединение("http://www.farpost.ru",,,, Прокси,, ); Исключение Сообщить("Ошибка подключения: " + ОписаниеОшибки()); КонецПопытки; Заголовки = Новый Соответствие(); Заголовки.Вставить("Content-Type", "multipart/form-data"); -- затыкаюсь на передаче параметров. я правильно понимаю - что надо сделать текстовый файл и туда вставить строку типа СтрЗапроса= "&packetId="+Сокрлп(packetId)+"&auth="+Сокрлп(auth)+"&data="+ ??? те ФайлОтправки = Новый Файл(имяФайлаОтправки); ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтправки); ЗаписьТекста.Записать(СтрЗапроса); ЗаписьТекста.Закрыть(); и потом это все HTTP.ОтправитьДляОбработки(имяФайлаОтправки,, имяВыходногоФайла, Заголовки); ???? или нет ? HTTP.ОтправитьДляОбработки(имяФайлаОтправки,, имяВыходногоФайла, Заголовки);  | 
|||
| 
    1
    
        ДенисЧ    
     20.10.20 
            ✎
    11:10 
 | 
         
        Правильно
 
        ЗЫ. Быстрее попробовать было бы ))  | 
|||
| 
    2
    
        lamme    
     20.10.20 
            ✎
    11:11 
 | 
         
        а как туда вставить бинарный файл ?     
         | 
|||
| 
    3
    
        ДенисЧ    
     20.10.20 
            ✎
    11:14 
 | 
         
        Передать бинарный файл)))
 
        Не пробовал? Или, если приёмник поймёт - его закодировать, хотя для поста это необязательно  | 
|||
| 
    4
    
        youalex    
     20.10.20 
            ✎
    11:16 
 | 
         
        HTTPЗапрос (HTTPRequest)
 
        УстановитьТелоИзДвоичныхДанных (SetBodyFromBinaryData) Синтаксис: УстановитьТелоИзДвоичныхДанных(<Данные>) Параметры: <Данные> (обязательный) Тип: ДвоичныеДанные. Содержит тело запроса в виде двоичных данных.  | 
|||
| 
    5
    
        lamme    
     20.10.20 
            ✎
    11:17 
 | 
         
        а ..
 
        я передаваймый файл - записал локально. теперьб его можно в ПолучитьДвоичныеДанные() и вставляем в запрос и проверяем чего получается  | 
|||
| 
    6
    
        lamme    
     20.10.20 
            ✎
    11:17 
 | 
         
        (4)
 
        не. вроде надо сначала файл с данными - в виде двоичных данных - вставить в запрос  | 
|||
| 
    7
    
        youalex    
     20.10.20 
            ✎
    11:18 
 | 
         
        (6) а это что? )     
         | 
|||
| 
    8
    
        lamme    
     20.10.20 
            ✎
    11:19 
 | 
         
        (4)
 
        не не это сам запрос в виде двочных данных отправляется. там вроде такого не надо там надо исходный файл расширение xls преобразовать в двоичные данные и добавить все это в запрос а сам запрос - обычный  | 
|||
| 
    9
    
        youalex    
     20.10.20 
            ✎
    11:28 
 | 
         
        А.
 
        Тогда возможно, тебе нужно создать структуру ("packetId, auth, data"), в "data", соответственно вставить Двоичные данные (из файла или потока). Структуру записать в JSON через ЗаписатьJSON(), и уже полученную строку добавить в тело запроса: HTTPЗапрос.УстановитьТелоИзСтроки()  | 
|||
| 
    10
    
        lamme    
     20.10.20 
            ✎
    11:32 
 | 
         
        может и так ..
 
        сейчас - базу заархивируют проверю  | 
|||
| 
    11
    
        youalex    
     20.10.20 
            ✎
    11:39 
 | 
         
        Да, Двоичные данные нужно будет сериализовать сначала.     
         | 
|||
| 
    12
    
        lamme    
     20.10.20 
            ✎
    11:40 
 | 
         
        так ...
 
        это что такое ?  | 
|||
| 
    13
    
        ДенисЧ    
     20.10.20 
            ✎
    11:43 
 | 
         
        (12) Ктоздесь??? )))
 
        "Сериализация (в программировании) — процесс перевода какой-либо структуры данных в последовательность битов. Обратной к операции сериализации является операция десериализации (структуризации) — восстановление начального состояния структуры данных из битовой последовательности"  | 
|||
| 
    14
    
        lamme    
     20.10.20 
            ✎
    11:45 
 | 
         
        а зачем ее делать ? не улавливаю     
         | 
|||
| 
    15
    
        ДенисЧ    
     20.10.20 
            ✎
    11:46 
 | 
         
        (14) Это то, чтоо я писал в (3) 
 
        Бинарник в ююенкод или базе64 завернуть. Если клиент поймёт.  | 
|||
| 
    16
    
        lamme    
     20.10.20 
            ✎
    11:46 
 | 
         
        одним словом, 
 
        не выходит каменый цветок... ((  | 
|||
| 
    17
    
        lamme    
     20.10.20 
            ✎
    11:47 
 | 
         
        дд = Новый ДвоичныеДанные(ФайлПрайс);
 
        Прокси = Новый ИнтернетПрокси(); Прокси.Установить("https",,); Прокси.Пользователь = ""; Прокси.Пароль = ""; SSL = Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows()); Попытка HTTP = Новый HTTPСоединение("http://www.farpost.ru",,,, Прокси,, ); Исключение Сообщить("Ошибка подключения: " + ОписаниеОшибки()); КонецПопытки; имяФайлаОтправки = ПолучитьимяВременногоФайла("txt"); ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтправки); ЗаписьТекста.Записать("&packetId="+Сокрлп(packetId)+"&auth="+Сокрлп(auth)+"&data="+дд); ЗаписьТекста.Закрыть(); имяВыходногоФайла = ПолучитьимяВременногоФайла("xml"); // наш сервер возвращает ответы в виде XML Заголовки = Новый Соответствие(); Заголовки.Вставить("Content-Type", "multipart/form-data"); Запрос = Новый HTTPЗапрос("http://www.farpost.ru/good/packet/api/sync", Заголовки); Запрос.ПолучитьТелоКакДвоичныеДанные(); //Соединение = Новый HTTPСоединение("http://www.farpost.ru/good/packet/api/sync"); HTTP.ОтправитьДляОбработки(имяФайлаОтправки,, имяВыходногоФайла, Заголовки); в ответ приходит вся страница целиком.  | 
|||
| 
    18
    
        lamme    
     20.10.20 
            ✎
    11:52 
 | 
         
        если сделать так
 
        Попытка HTTP = Новый HTTPСоединение("http://www.farpost.ru/good/packet/api/sync",,,, Прокси,,SSL ); Исключение Сообщить("Ошибка подключения: " + ОписаниеОшибки()); КонецПопытки; ... Запрос = Новый HTTPЗапрос("/good/packet/api/sync", Заголовки) то выходит Ошибка работы с Интернет: Ошибка доступа к ресурсу. Путь не найден: (400). {"reason":"ERROR_REASON_EMPTY_REQUEST"} в тоже время - в апи написано ERROR_REASON_EMPTY_REQUEST Отсутствует обязательный параметр data или auth Проверить наличие и корректность параметров data или auth  | 
|||
| 
    19
    
        lamme    
     20.10.20 
            ✎
    11:52 
 | 
         
        те типа верной дорогой иду - во втором варианте
 
        но не верно передаю параметры  | 
|||
| 
    20
    
        youalex    
     20.10.20 
            ✎
    11:52 
 | 
         
        (14) чтобы передать сериализованный бинарник в Запросе. 
 
        Base64Строка(ДвДанные) , XMLСтрока(ДвДанные) - как вариант  | 
|||
| 
    21
    
        youalex    
     20.10.20 
            ✎
    11:54 
 | 
         
        "http://www.farpost.ru/good/packet/api/sync";, Заголовки);
 
        http: - вроде не надо. у тебя http://www.farpost.ru - имя сервера good/packet/api/sync - имя ресурса  | 
|||
| 
    22
    
        youalex    
     20.10.20 
            ✎
    11:54 
 | 
         
        http://www.farpost.ru - имя сервера     
         | 
|||
| 
    23
    
        youalex    
     20.10.20 
            ✎
    11:55 
 | 
         
        миста добавляет http))     
         | 
|||
| 
    24
    
        lamme    
     20.10.20 
            ✎
    11:58 
 | 
         
        BBase64Строка(ДвДанные) ,  XMLСтрока(ДвДанные) - не хочет     
         | 
|||
| 
    25
    
        lamme    
     20.10.20 
            ✎
    11:58 
 | 
         
        миста добавляет http)) - да, это понятно
 
        там Попытка HTTP = Новый HTTPСоединение("http://www.farpost.ru",,,, Прокси,,SSL ); Исключение Сообщить("Ошибка подключения: " + ОписаниеОшибки()); КонецПопытки;  | 
|||
| 
    26
    
        lamme    
     20.10.20 
            ✎
    11:58 
 | 
         
        и 
 
        Запрос = Новый HTTPЗапрос("/good/packet/api/sync", Заголовки);  | 
|||
| 
    27
    
        lamme    
     20.10.20 
            ✎
    11:59 
 | 
         
        блин
 
        Попытка HTTP = Новый HTTPСоединение("<тутНетHTTP>http://www.farpost.ru",,,, Прокси,,SSL ); Исключение Сообщить("Ошибка подключения: " + ОписаниеОшибки()); КонецПопытки;  | 
|||
| 
    28
    
        lamme    
     20.10.20 
            ✎
    12:01 
 | 
         
        Есть пример на сайте
 
        Пример в виде html-формы: <form action="http://www.farpost.ru/good/packet/api/sync" method="post" enctype="multipart/form-data"> <input type="text" name="packetId" value="11111" /> <input type="text" name="auth" value= "fce6b30f476a60731067256780d5092e4cd9f0f6d47f05baf8ea571cf2aeb18733062324b9377e0a79fc6d8ef05e835afd43822b918e688bda1e57262c56b8bc" /> <input type="file" name="data" /> <input type="submit" /> </form> тут <input type="file" name="data" /> - не понял ..  | 
|||
| 
    29
    
        lamme    
     20.10.20 
            ✎
    12:02 
 | 
         
        те как их пример 
 
        с такой строкой запроса из 1С8 пересекается "packetId="+Сокрлп(packetId)+"&auth="+Сокрлп(auth)+"&data="+XMLСтрока(дд)  | 
|||
| 
    30
    
        lamme    
     20.10.20 
            ✎
    12:09 
 | 
         
        Может так все таки правильнее
 
        Попытка HTTP = Новый HTTPСоединение("http://www.farpost.ru",,,, Прокси,,SSL ); Исключение Сообщить("Ошибка подключения: " + ОписаниеОшибки()); КонецПопытки; мяФайлаОтправки = ПолучитьимяВременногоФайла("txt"); ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтправки); ЗаписьТекста.Записать("packetId="+Сокрлп(packetId)+"&auth="+Сокрлп(auth)+"&data="+Base64Строка(дд)); ЗаписьТекста.Закрыть(); HTTP.ОтправитьДляОбработки(имяФайлаОтправки,"/good/packet/api/sync", имяВыходногоФайла, Заголовки);  | 
|||
| 
    31
    
        lamme    
     20.10.20 
            ✎
    12:09 
 | 
         
        те без
 
        Запрос = Новый HTTPЗапрос("http://www.farpost.ru/good/packet/api/sync", Заголовки); Запрос.ПолучитьТелоКакДвоичныеДанные(); ?  | 
|||
| 
    32
    
        arsik    
     гуру 
    20.10.20 
            ✎
    12:22 
 | 
         
        POST http://www.farpost.ru/good/packet/api/sync HTTP/1.1
 
        Host: http://www.farpost.ru Proxy-Connection: keep-alive Content-Length: 671 Cache-Control: max-age=0 Origin: null Upgrade-Insecure-Requests: 1 DNT: 1 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryWXCr1DduwrPToi2p User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Accept-Encoding: gzip, deflate Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7 ------WebKitFormBoundaryWXCr1DduwrPToi2p Content-Disposition: form-data; name="packetId" 11111 ------WebKitFormBoundaryWXCr1DduwrPToi2p Content-Disposition: form-data; name="auth" fce6b30f476a60731067256780d5092e4cd9f0f6d47f05baf8ea571cf2aeb18733062324b9377e0a79fc6d8ef05e835afd43822b918e688bda1e57262c56b8bc ------WebKitFormBoundaryWXCr1DduwrPToi2p Content-Disposition: form-data; name="data"; filename="INFO.XML" Content-Type: text/xml <?xml version="1.0" encoding="UTF-8" ?> <drivers> <component progid="AddIn.UCS_EFTPOS" type="ЭквайринговыйТерминал" name="UCS: EFTPOS"/> </drivers> ------WebKitFormBoundaryWXCr1DduwrPToi2p--  | 
|||
| 
    33
    
        arsik    
     гуру 
    20.10.20 
            ✎
    12:23 
 | 
         
        Вот что нам дает fiddler     
         | 
|||
| 
    34
    
        lamme    
     20.10.20 
            ✎
    12:26 
 | 
         
        ну я так понимаю - все те же парамтры - что и из 1С передаются     
         | 
|||
| 
    35
    
        arsik    
     гуру 
    20.10.20 
            ✎
    12:31 
 | 
         
        (34) Нет. Ты видишь, что параметры разделяются на boundary?     
         | 
|||
| 
    36
    
        lamme    
     20.10.20 
            ✎
    12:32 
 | 
         
        если честно - то нет, не вижу     
         | 
|||
| 
    37
    
        arsik    
     гуру 
    20.10.20 
            ✎
    12:33 
 | 
         
        (36) Сиди. Учи. https://habr.com/ru/post/511114/     
         | 
|||
| 
    38
    
        lamme    
     20.10.20 
            ✎
    12:36 
 | 
         
        эта вот эта вот хрень  = fce6b30f476a60731067256780d5092e4cd9f0f6d47f05baf8ea571cf2aeb18733062324b9377e0a79fc6d8ef05e835afd43822b918e688bda1e57262c56b8bc
 
        и есть boundary ?  | 
|||
| 
    39
    
        arsik    
     гуру 
    20.10.20 
            ✎
    12:37 
 | 
         
        (38) Еще учи. Тут даже пример от 1С есть. https://its.1c.ru/db/metod8dev#content:5917:hdoc:http-messages
 
        Узнай для начала, что за тип такой multipart/form-data  | 
|||
| 
    40
    
        lamme    
     20.10.20 
            ✎
    12:42 
 | 
         
        у них в примере нет ничего похожего
 
        <form action="http://www.farpost.ru/good/packet/api/sync" method="post" enctype="multipart/form-data"> <input type="text" name="packetId" value="11111" /> <input type="text" name="auth" value= "fce6b30f476a60731067256780d5092e4cd9f0f6d47f05baf8ea571cf2aeb18733062324b9377e0a79fc6d8ef05e835afd43822b918e688bda1e57262c56b8bc" /> <input type="file" name="data" /> <input type="submit" /> </form>  | 
|||
| 
    41
    
        arsik    
     гуру 
    20.10.20 
            ✎
    12:44 
 | 
         
        (40) Иди учи как работает Web.     
         | 
|||
| 
    42
    
        lamme    
     20.10.20 
            ✎
    12:45 
 | 
         
        а можно как то понять тогда - чего не хватает то в запросе из 1С ?
 
        мне как бы Web не сильно нужен мне только - скомпоновать запрос - получить ответ. а как оно там работает между собой ..  | 
|||
| 
    43
    
        arsik    
     гуру 
    20.10.20 
            ✎
    12:46 
 | 
         
        (42) смотри (39)     
         | 
|||
| 
    44
    
        lamme    
     20.10.20 
            ✎
    12:47 
 | 
         
        Разделитель = boundary=----WebKitFormBoundaryWXCr1DduwrPToi2p
 
        ЗаписьДанных.ЗаписатьСтроку("==" + Разделитель); ЗаписьДанных.Записать(текст); так что ли записать запрос ?  | 
|||
| 
    45
    
        arsik    
     гуру 
    20.10.20 
            ✎
    12:49 
 | 
         
        (44) Умываю руки.     
         | 
|||
| 
    46
    
        lamme    
     20.10.20 
            ✎
    12:52 
 | 
         
        а просто сказать как правильно ?     
         | 
|||
| 
    47
    
        arsik    
     гуру 
    20.10.20 
            ✎
    12:53 
 | 
         
        (46) Может и зарплату за тебя получить?     
         | 
|||
| 
    48
    
        lamme    
     20.10.20 
            ✎
    12:56 
 | 
         
        мда ...
 
        обращаешься с вопросом - типа туплю, не понимаю. в ответ тыкают в гамно, а результата ноль. форум создан для того чтобы спрашивать,а не строить из себя супер умного.  | 
|||
| 
    49
    
        acht    
     20.10.20 
            ✎
    12:58 
 | 
         
        (48) У тебя в (0) русским языком написано - "Коллеги .. прошу пинать"     
         | 
|||
| 
    50
    
        lamme    
     20.10.20 
            ✎
    12:59 
 | 
         
        (49)
 
        да. да. я понял. попинал - спасибо. подскажи что не так  | 
|||
| 
    51
    
        lamme    
     20.10.20 
            ✎
    13:02 
 | 
         
        я ж (0) так и написал
 
        не понимаю логики (  | 
|||
| 
    52
    
        acht    
     20.10.20 
            ✎
    13:06 
 | 
         
        Тебе уже дали ссылку на статью на ИТС. Там написано как делать правильно. Тебе остается только включить мозг и сделать у себя аналогично.
 
        Ты же вместо этого предпочитаешь ныть "мне как бы Web не сильно нужен", "а как оно там работает между собой ..". Нахрен оно сдалось, таким помогать?  | 
|||
| 
    53
    
        lamme    
     20.10.20 
            ✎
    13:08 
 | 
         
        да сделал так. сделал     
         | 
|||
| 
    54
    
        lamme    
     20.10.20 
            ✎
    13:09 
 | 
         
        разделитель = "WebKitFormBoundaryWXCr1DduwrPToi2p";
 
        SSL = Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows()); Попытка HTTP = Новый HTTPСоединение("http://www.farpost.ru",,,, Прокси,,SSL ); Исключение Сообщить("Ошибка подключения: " + ОписаниеОшибки()); КонецПопытки; имяФайлаОтправки = ПолучитьимяВременногоФайла("txt"); ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтправки); ЗаписьТекста.Записать(разделитель); ЗаписьТекста.Записать("packetId="+Сокрлп(packetId)); ЗаписьТекста.Записать(разделитель); ЗаписьТекста.Записать("&auth="+Сокрлп(auth)); ЗаписьТекста.Записать(разделитель); ЗаписьТекста.Записать("&data="+дд); ЗаписьТекста.Закрыть(); имяВыходногоФайла = ПолучитьимяВременногоФайла("xml"); // наш сервер возвращает ответы в виде XML Заголовки = Новый Соответствие(); Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + разделитель); Запрос = Новый HTTPЗапрос("/good/packet/api/sync", Заголовки); Запрос.УстановитьИмяФайлаТела(имяФайлаОтправки);  | 
|||
| 
    55
    
        lamme    
     20.10.20 
            ✎
    13:09 
 | 
         
        Результат = HTTP.ОтправитьДляОбработки(Запрос,, имяВыходногоФайла, Заголовки);
 
        а Результат =400 приходит вместо 200  | 
|||
| 
    56
    
        lamme    
     20.10.20 
            ✎
    13:49 
 | 
         
        переделал в такое     
         | 
|||
| 
    57
    
        lamme    
     20.10.20 
            ✎
    13:50 
 | 
         
        Функция ХТТПЗапросПост(АдресСайта,АдресРесурса,ДанныеЗапроса)
 
        ТекстДляОтправки = ""; Boundary = Строка(Новый УникальныйИдентификатор()); НомерФайла = 0; Для Каждого Элемент Из ДанныеЗапроса Цикл ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary + Символы.ПС; Если ТипЗнч(Элемент.Значение) = Тип("ДвоичныеДанные") Тогда ТекстДляОтправки = ТекстДляОтправки + "Content-Disposition: form-data; name=""data""; filename=""" + Элемент.Ключ + """" + Символы.ПС; ТекстДляОтправки = ТекстДляОтправки + "Content-Type: multipart/form-data" + Символы.ПС; Данные = Base64Строка(Элемент.Значение); Иначе ТекстДляОтправки = ТекстДляОтправки + "Content-Disposition: form-data; name="""+Элемент.Ключ+"""" + Символы.ПС; Данные = Строка(Элемент.Значение); КонецЕсли; ТекстДляОтправки = ТекстДляОтправки + Символы.ПС; ТекстДляОтправки = ТекстДляОтправки + Данные + Символы.ПС; // ТекстДляОтправки = ТекстДляОтправки + "--"+Boundary + Символы.ПС; КонецЦикла; Заголовки = Новый Соответствие(); Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Boundary); Заголовки.Вставить("Content-Lenght", XMLСтрока(СтрДлина(ТекстДляОтправки))); Запрос = Новый HTTPЗапрос(АдресРесурса,Заголовки); Запрос.УстановитьТелоИзСтроки(ТекстДляОтправки, КодировкаТекста.ANSI); Попытка Соединение = Новый HTTPСоединение(АдресСайта); Возврат Соединение.ОтправитьДляОбработки(Запрос); Исключение Возврат Неопределено; КонецПопытки; КонецФункции и вызов дд = Новый ДвоичныеДанные(ФайлПрайс); ДанныеЗапроса.Вставить("auth",auth); ДанныеЗапроса.Вставить("packetId",packetId); ДанныеЗапроса.Вставить("дд",дд); Ответ = ХТТПЗапросПост("http://www.farpost.ru","/good/packet/api/sync",ДанныеЗапроса); // в результате - то что уходит ТекстДляОтправки имеет вид как в (32): --1cea378f-4e38-4db5-959e-6da0eb13180b Content-Disposition: form-data; name="auth" 123 --1cea378f-4e38-4db5-959e-6da0eb13180b Content-Disposition: form-data; name="packetId" 456 --1cea378f-4e38-4db5-959e-6da0eb13180b Content-Disposition: form-data; name="data"; filename="дд" Content-Type: multipart/form-data TU9YQ0VMAAgAAQAKAO+7v3s4LDEsMTAsDQp7IiMiLCIiLDEsMSwiIyIsItCv0LfR i9C6INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIiwi0K/Qt9GL0Log0L/QviDRg9C8 0L7Qu9GH0LDQvdC40Y4iLDB9LA0KezEyOCw3Mn0sDQp7MSwxLA0KezQsMCwNCnsw fSwxLDEsMyxmNTI3ZGM4OC0xZDM5LTQwYjMtYmNiYi1kOThiNjkwZWFkNjgsMH0s MH0sMCwNCnswLDB9LA0KezAsMH0sDQp7MCwwfSwNCnswLDB9LA0KezAsMH0sDQp7 MCwwfSwwLDIsMSwwLDAsMTgsMCwNCnsxNiwxLA0KezEsMSwNCnsiIyIsItCQ0YDR gtC40LrRg9C7In0NCn0sMH0sMSwNCnsxNiwxLA0KezEsMSwNCnsiIyIsItCd0LDQ uNC80LXQvdC+0LLQsNC90LjQtSJ9DQp9LDB9LDIsDQp7MTYsMiwNCnsxLDEsDQp7 IiMiLCLQnNCw0YDQutCwIn0NCn0sMH0sMywNCnsxNiwxLA0KezEsMSwNCnsiIyIs ItCc0L7QtNC10LvRjCJ9DQp9LDB9LDQsDQp7MTYsMSwNCnsxLDEsDQp7IiMiLCLQ k9C+0LQifQ0KfSwwfSw1LA0KezE2LDEsDQp7MSwxLA0KeyIjIiwi0JrRg9C30L7Q siJ9DQp9LDB9LDYsDQp7MTYsMSwNCnsxLDEsDQp7IiMiLCLQlNCy0LjQs9Cw0YLQ tdC70YwifQ0KfSwwfSw3LA0KezE2LDEsDQp7MSwxLA0KeyIjIiwi0JLQtdGA0YUv 0J3QuNC3In0NCn0sMH0sOCwNCnsxNiwxLA0KezEsMSwNCnsiIyIsItCf0LXRgNC1 0LQv0JfQsNC0In0NCn0sMH0sOSwNCnsxNiwxLA0KezEsMSwNCnsiIyIsItCb0LXQ si/Qn9GA0LDQsiJ9DQp9LDB9LDEwLA0KezE2LDEsDQp7MSwxLA0KeyIjIiwi0KbQ stC10YIifQ0KfSwwfSwxMSwNCnsxNiwzLA0KezEsMSwNCnsiIyIsItCe0L/RgtC4 0LrQsCJ9DQp9LDB9LDEyLA0KezE2LDQsDQp7MSwxLA0KeyIjIiwi0JrQvtC80LzQ tdC90YLQsNGA0LjQuSJ9DQp9LDB9LDEzLA0KezE2LDUsDQp7MSwxLA0KeyIjIiwi 0KbQtdC90LAifQ0KfSwwfSwxNCwNCnsxNiwxLA0KezEsMSwNCnsiIyIsItCf0YDQ vtC40LfQstC+0LTQuNGC0LXQu9GMIn0NCn0sMH0sMTUsDQp7MTYsMywNCnsxLDEs DQp7IiMiLCLQpNC+0YLQvtCz0YDQsNGE0LjQuCJ9DQp9LDB9LDE2LA0KezE2LDYs DQp7MSwxLA0KeyIjIiwi0JrQvtC90YLRgNCw0LrRgtC90LDRj9Cd0L7QstCw0Y8i fQ0KfSwwfSwxNywNCnsxNiw2LA0KezEsMSwNCnsiIyIsIk9FTSJ9DQp9LDB9LA0K ezE4LDAsMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwLDB9LDEs MCwwLDAsMCwwLDAsMCwwLA0KezB9LA0KezB9LA0KezB9LA0KezEsItCo0LDQv9C6 0LAiLA0KezEsDQp7MSwtMSwwLC0xLDAsMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAt MDAwMDAwMDAwMDAwfSwwfQ0KfSwiIiwNCnsNCnswLDYsNiwNCnsiTiIsMTAwMH0s NywNCnsiTiIsMTAwMH0sOCwNCnsiTiIsMTAwMH0sOSwNCnsiTiIsMTAwMH0sMTAs DQp7Ik4iLDEwMDB9LDExLA0KeyJOIiwxMDAwfQ0KfQ0KfSwNCnswLC0xLC0xLC0x LC0xLDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMH0sMCwwLDAs MCwwLDAsMCwxLDAsMSw2LA0KezE4MzA1LDAsNzIsMCw4LDIsMH0sDQp7MTgzMDUs MCwxMjAsMCw4LDIsMH0sDQp7NDAzMSwxLDAsMCwwLDAsMyw4MCwwLDAsNCw1fSwN Cns0MDMxLDEsMCwwLDAsMCwzLDEyMCwwLDAsNCw1fSwNCns0MDMxLDEsMCwwLDAs MCwzLDU2LDAsMCw0LDV9LA0KezQwMzEsMSwwLDAsMCwwLDMsNDAsMCwwLDQsNX0s MiwNCns3LDAsMCwxMTAsMCwwLDAsNDAwLDAsMCwwLDAsMCwwLDAsMiwiQ2FsaWJy aSIsMSwxMDB9LA0KezcsMSw1MTQsDQp7MH0sODAsMSwxMDB9LDAsMCwwLDYsDQp7 MywzLA0Key0xfQ0KfSwNCnszLDMsDQp7LTN9DQp9LA0KezMsMCwNCnswfQ0KfSwN CnszLDMsDQp7LTIyfQ0KfSwNCnszLDAsDQp7Mjc5Mzg1fQ0KfSwNCnszLDAsDQp7 MTQ1NDU2NTN9DQp9LDAsMCwwLCIiLDAsDQp7MywwLDAsMTAwLDEsMSwwLDEsMSww LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwiIiwwLDAsMCwwLDAsMCwwfSwNCnswfSww LDAsMCwxLDB9  | 
|||
| 
    58
    
        lamme    
     20.10.20 
            ✎
    13:51 
 | 
         
        а результат все равно 400
 
        те {"reason":"ERROR_REASON_EMPTY_REQUEST"} Отсутствует обязательный параметр data или auth  | 
|||
| 
    59
    
        lamme    
     20.10.20 
            ✎
    13:54 
 | 
         
        все. закрыли вопрос
 
        надо было дд = Новый ДвоичныеДанные(ФайлПрайс); ДанныеЗапроса.Вставить("auth",auth); ДанныеЗапроса.Вставить("packetId",packetId); ДанныеЗапроса.Вставить("дд",дд); ДанныеЗапроса.Вставить("data",ФайлПрайс); и получилось счастье  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |