|
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",ФайлПрайс); и получилось счастье |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |