[Шпаргалка] Вычисление Content-Length в POST запросе на примере Битрикс 24

20.11.23

Интеграция - WEB-интеграция

Вычисление Content-Length в POST запросе на примере Битрикс 24. Информации про это в интернете мало, может, кому-то сэкономит время.

Добрый день.

Встала простая задача по restapi обратиться в битрикс и забрать оттуда данные по массиву id.

Дергаем ручку в Postmane - все ок.

 

 

Делаем Http post запрос из 1с - ответ 200, но пустой результат. Все дело в том что Postman умеет высчитывать Content-Length. В 1С его нужно высчитывать вручную, и передавать не серилизованный JSON в теле а файл. 

Ниже работающий пример:

       HTTPСоединение  = ПолучитьHTTPСоединение();
	   перЗапрос = "local/rest/1C/deal.php";
	   
		
		Структура = Новый Структура;
		Структура.Вставить("id", ИдСтрока);
	
		ЗаписьJSON = новый ЗаписьJSON();
		ЗаписьJSON.УстановитьСтроку();
		ЗаписатьJSON(ЗаписьJSON, Структура);
		
		ДанныеДляОтправкиJSON = ЗаписьJSON.Закрыть();  
		
		ФайлЗапроса = ПолучитьИмяВременногоФайла();
		ТекстовыйФайл = Новый ТекстовыйДокумент;
   		ТекстовыйФайл.УстановитьТекст(ДанныеДляОтправкиJSON);          
   		ТекстовыйФайл.Записать(ФайлЗапроса, КодировкаТекста.ANSI); 
		
		ФайлОтправки = Новый Файл(ФайлЗапроса);
   		РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());

       	Заголовки = Новый Соответствие;
		Заголовки.Вставить("Content-Type", "text/plain;charset=UTF-8");  
		Заголовки.Вставить("Content-Length", РазмерФайлаОтправки); 

		HTTPЗапрос = Новый HTTPЗапрос(перЗапрос, Заголовки);

		
		HTTPЗапрос.УстановитьИмяФайлаТела(ФайлЗапроса);
		
		HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
		
		СтрокаJSON = HTTPОтвет.ПолучитьТелоКакСтроку(); 
	
		ЧтениеJSON = Новый ЧтениеJSON();
		ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
		 
		перМассив = ПрочитатьJSON(ЧтениеJSON);

 

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    16078    13    18    

13

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    18150    10    15    

16

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на сайт) и для других целей

Прайсы WEB-интеграция Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Автомобили, автосервисы Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. При этом извлекает файлы из архивов, может переименовывать файлы и менять их формат (csv, xls, txt). Можно настроить выгрузку обработанных файлов на сайт (через FTP-подключение). Программа будет полезна компаниям, у которых есть большое количество поставщиков и/или прайс-листы поставщиков обновляются часто (необязательно прайс-листы, файлы могут быть любого назначения). Собранные таким образом актуальные версии прайс-листов можно выгрузить с помощью программы себе на сайт (или на любой FTP-сервер) или выполнить другие необходимые задачи.

25200 руб.

28.05.2015    85363    26    51    

50

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    12988    33    8    

12

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16606    43    49    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. efin 20.11.23 15:10 Сейчас в теме
Отлично все 1С умеет высчитывать сам и указывать в заголовке.
А вот если применять таблетки, особенно подмену inet.dll - то перестает высчитывать, как пишут на форумах.
user621724_Dimav1979; +1 Ответить
2. user621724_Dimav1979 404 20.11.23 15:55 Сейчас в теме
(1) подменами inet.dll не занимаемся )))
Оставьте свое сообщение