Вход | Регистрация
 

POST запрос ...

POST запрос ...
Я
   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
Правильно

ЗЫ. Быстрее попробовать было бы ))
   lamme
 
2 - 20.10.20 - 11:11
а как туда вставить бинарный файл ?
   ДенисЧ
 
3 - 20.10.20 - 11:14
Передать бинарный файл)))
Не пробовал?

Или, если приёмник поймёт - его закодировать, хотя для поста это необязательно
   youalex
 
4 - 20.10.20 - 11:16
HTTPЗапрос (HTTPRequest)
УстановитьТелоИзДвоичныхДанных (SetBodyFromBinaryData)
Синтаксис:
УстановитьТелоИзДвоичныхДанных(<Данные>)
Параметры:
<Данные> (обязательный)
Тип: ДвоичныеДанные.
Содержит тело запроса в виде двоичных данных.
   lamme
 
5 - 20.10.20 - 11:17
а ..
я передаваймый файл - записал локально.
теперьб его можно в ПолучитьДвоичныеДанные()
и вставляем в запрос
и проверяем чего получается
   lamme
 
6 - 20.10.20 - 11:17
(4)
не.
вроде надо сначала файл с данными - в виде двоичных данных - вставить в запрос
   youalex
 
7 - 20.10.20 - 11:18
(6) а это что? )
   lamme
 
8 - 20.10.20 - 11:19
(4)
не не
это сам запрос в виде двочных данных отправляется.
там вроде такого не надо

там надо исходный файл расширение xls преобразовать в двоичные данные
и добавить все это в запрос

а сам запрос - обычный
   youalex
 
9 - 20.10.20 - 11:28
А.
Тогда возможно, тебе нужно создать структуру ("packetId, auth, data"), в "data", соответственно вставить Двоичные данные (из файла или потока).
Структуру записать в JSON через ЗаписатьJSON(), и уже полученную строку добавить в тело запроса:
HTTPЗапрос.УстановитьТелоИзСтроки()
   lamme
 
10 - 20.10.20 - 11:32
может и так ..
сейчас - базу заархивируют
проверю
   youalex
 
11 - 20.10.20 - 11:39
Да, Двоичные данные нужно будет сериализовать сначала.
   lamme
 
12 - 20.10.20 - 11:40
так ...
это что такое ?
   ДенисЧ
 
13 - 20.10.20 - 11:43
(12) Ктоздесь??? )))

"Сериализация (в программировании) — процесс перевода какой-либо структуры данных в последовательность битов. Обратной к операции сериализации является операция десериализации (структуризации) — восстановление начального состояния структуры данных из битовой последовательности"
   lamme
 
14 - 20.10.20 - 11:45
а зачем ее делать ? не улавливаю
   ДенисЧ
 
15 - 20.10.20 - 11:46
(14) Это то, чтоо я писал в (3)
Бинарник в ююенкод или базе64 завернуть. Если клиент поймёт.
   lamme
 
16 - 20.10.20 - 11:46
одним словом, 
не выходит каменый цветок...  ((
   lamme
 
17 - 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.ОтправитьДляОбработки(имяФайлаОтправки,, имяВыходногоФайла, Заголовки);


в ответ приходит вся страница целиком.
   lamme
 
18 - 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
   lamme
 
19 - 20.10.20 - 11:52
те типа верной дорогой иду - во втором варианте
но не верно передаю параметры
   youalex
 
20 - 20.10.20 - 11:52
(14) чтобы передать сериализованный бинарник в Запросе.
Base64Строка(ДвДанные) ,  XMLСтрока(ДвДанные) - как вариант
   youalex
 
21 - 20.10.20 - 11:54
"http://www.farpost.ru/good/packet/api/sync";;, Заголовки);

http: - вроде не надо.

у тебя http://www.farpost.ru - имя сервера
good/packet/api/sync - имя ресурса
   youalex
 
22 - 20.10.20 - 11:54
http://www.farpost.ru - имя сервера
   youalex
 
23 - 20.10.20 - 11:55
миста добавляет http))
   lamme
 
24 - 20.10.20 - 11:58
BBase64Строка(ДвДанные) ,  XMLСтрока(ДвДанные) - не хочет
   lamme
 
25 - 20.10.20 - 11:58
миста добавляет http)) - да, это понятно
там
Попытка
        HTTP = Новый HTTPСоединение("http://www.farpost.ru";,,,, Прокси,,SSL );
    Исключение
        Сообщить("Ошибка подключения: " + ОписаниеОшибки());
    КонецПопытки;
   lamme
 
26 - 20.10.20 - 11:58
и
Запрос = Новый HTTPЗапрос("/good/packet/api/sync", Заголовки);
   lamme
 
27 - 20.10.20 - 11:59
блин

Попытка
        HTTP = Новый HTTPСоединение("<тутНетHTTP>http://www.farpost.ru";,,,, Прокси,,SSL );
    Исключение
        Сообщить("Ошибка подключения: " + ОписаниеОшибки());
    КонецПопытки;
   lamme
 
28 - 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" /> - не понял ..
   lamme
 
29 - 20.10.20 - 12:02
те как их пример 
с такой строкой запроса из 1С8 пересекается

"packetId="+Сокрлп(packetId)+"&auth="+Сокрлп(auth)+"&data="+XMLСтрока(дд)
   lamme
 
30 - 20.10.20 - 12:09
Может так все таки правильнее

Попытка
        HTTP = Новый HTTPСоединение("http://www.farpost.ru";,,,, Прокси,,SSL );
    Исключение
        Сообщить("Ошибка подключения: " + ОписаниеОшибки());
    КонецПопытки;


мяФайлаОтправки = ПолучитьимяВременногоФайла("txt");

    ЗаписьТекста = Новый ЗаписьТекста(имяФайлаОтправки);
    ЗаписьТекста.Записать("packetId="+Сокрлп(packetId)+"&auth="+Сокрлп(auth)+"&data="+Base64Строка(дд));
    ЗаписьТекста.Закрыть();



    HTTP.ОтправитьДляОбработки(имяФайлаОтправки,"/good/packet/api/sync", имяВыходногоФайла, Заголовки);
 
 Рекламное место пустует
   lamme
 
31 - 20.10.20 - 12:09
те без



    Запрос = Новый HTTPЗапрос("http://www.farpost.ru/good/packet/api/sync";, Заголовки);
    Запрос.ПолучитьТелоКакДвоичныеДанные();
?
   arsik
 
32 - 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--
   arsik
 
33 - 20.10.20 - 12:23
Вот что нам дает fiddler
   lamme
 
34 - 20.10.20 - 12:26
ну я так понимаю - все те же парамтры - что и из 1С передаются
   arsik
 
35 - 20.10.20 - 12:31
(34) Нет. Ты видишь, что параметры разделяются на boundary?
   lamme
 
36 - 20.10.20 - 12:32
если честно - то нет, не вижу
   arsik
 
37 - 20.10.20 - 12:33
   lamme
 
38 - 20.10.20 - 12:36
эта вот эта вот хрень  = fce6b30f476a60731067256780d5092e4cd9f0f6d47f05baf8ea571cf2aeb18733062324b9377e0a79fc6d8ef05e835afd43822b918e688bda1e57262c56b8bc
и есть boundary ?
   arsik
 
39 - 20.10.20 - 12:37
(38) Еще учи. Тут даже пример от 1С есть. https://its.1c.ru/db/metod8dev#content:5917:hdoc:http-messages
Узнай для начала, что за  тип такой multipart/form-data
   lamme
 
40 - 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>
   arsik
 
41 - 20.10.20 - 12:44
(40) Иди учи как работает Web.
   lamme
 
42 - 20.10.20 - 12:45
а можно как то понять тогда - чего не хватает то в запросе из 1С ?
мне как бы Web не сильно нужен
мне только - скомпоновать запрос - получить ответ.
а как оно там работает между собой ..
   arsik
 
43 - 20.10.20 - 12:46
(42) смотри (39)
   lamme
 
44 - 20.10.20 - 12:47
Разделитель = boundary=----WebKitFormBoundaryWXCr1DduwrPToi2p

 ЗаписьДанных.ЗаписатьСтроку("==" + Разделитель);
        ЗаписьДанных.Записать(текст);  

так что ли записать запрос ?
   arsik
 
45 - 20.10.20 - 12:49
(44) Умываю руки.
   lamme
 
46 - 20.10.20 - 12:52
а просто сказать как правильно ?
   arsik
 
47 - 20.10.20 - 12:53
(46) Может и зарплату за тебя получить?
   lamme
 
48 - 20.10.20 - 12:56
мда ...
обращаешься с вопросом - типа туплю, не понимаю.
в ответ тыкают в гамно, а результата ноль.
форум создан для того чтобы спрашивать,а не строить из себя супер умного.
   acht
 
49 - 20.10.20 - 12:58
(48) У тебя в (0) русским языком написано - "Коллеги .. прошу пинать"
   lamme
 
50 - 20.10.20 - 12:59
(49)
да. да. я понял.
попинал - спасибо.

подскажи что не так
   lamme
 
51 - 20.10.20 - 13:02
я ж (0) так и написал

не понимаю логики (
   acht
 
52 - 20.10.20 - 13:06
Тебе уже дали ссылку на статью на ИТС. Там написано как делать правильно. Тебе остается только включить мозг и сделать у себя аналогично.
Ты же вместо этого предпочитаешь ныть "мне как бы Web не сильно нужен", "а как оно там работает между собой ..".
Нахрен оно сдалось, таким помогать?
   lamme
 
53 - 20.10.20 - 13:08
да сделал так. сделал
   lamme
 
54 - 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", Заголовки);
    Запрос.УстановитьИмяФайлаТела(имяФайлаОтправки);
   lamme
 
55 - 20.10.20 - 13:09
Результат = HTTP.ОтправитьДляОбработки(Запрос,, имяВыходногоФайла, Заголовки);

а Результат =400 приходит
вместо 200
   lamme
 
56 - 20.10.20 - 13:49
переделал в такое
   lamme
 
57 - 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
   lamme
 
58 - 20.10.20 - 13:51
а результат все равно 400
те {"reason":"ERROR_REASON_EMPTY_REQUEST"}
Отсутствует обязательный параметр data или auth
   lamme
 
59 - 20.10.20 - 13:54
все. закрыли вопрос
надо было


дд = Новый ДвоичныеДанные(ФайлПрайс);
    ДанныеЗапроса.Вставить("auth",auth);
    ДанныеЗапроса.Вставить("packetId",packetId);
    ДанныеЗапроса.Вставить("дд",дд);
    ДанныеЗапроса.Вставить("data",ФайлПрайс);

и получилось счастье


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.