Взаимодействие с HTTP сервисом 1с через PHP
Приём данных и ответ от 1С :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Функция telegram_callbacktcallback(Запрос) ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(Запрос.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8)); JSONM = ПрочитатьJSON(ЧтениеJSON); ЧтениеJSON.Закрыть(); HTTPОтвет = Новый HTTPСервисОтвет(200); HTTPОтвет.УстановитьТелоИзСтроки("Всем привет"); HTTPОтвет.Заголовки["Content-Type"] = "text/html; charset=utf-8"; Возврат HTTPОтвет; КонецФункции |
Обращение к сервису 1С из PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php mb_internal_encoding("UTF-8"); $bodyz = file_get_contents('php://input'); $body =$bodyz; $data=Date("d-m-Y H:i:s")." Ent:".serialize($body)."\n"; file_put_contents('telegram.log', $data, FILE_APPEND); $url = "https://сервер:80/путь/вызов"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_USERPWD, "ЛОГИН.:ПАРОЛЬ"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS,$bodyz); $response = curl_exec($ch); var_dump($response); if(curl_errno($ch)){ throw new Exception(curl_error($ch)); }; echo $response; $data=Date("d-m-Y H:i:s")." Exit:".serialize($response)."\n"; file_put_contents('telegram.log', $data, FILE_APPEND); ?> |