Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

получить данные с сайта по запросу

получить данные с сайта по запросу
Я
   Игорь_МММ
 
20.06.21 - 11:59
в запросах http знания близки к нулю, но дали задачу, надо как то решать. Прошу помощи

админ сайта дал текст запроса:
<?php

$dealid = 251; //в параметр передать номер (ID) сделки

$appParams = array(
    'id' => $dealid,
);
$url = 'https://..../crm.deal.get.json';
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_SSL_VERIFYPEER => 0,
    CURLOPT_POST => 1,
    CURLOPT_HEADER => 0,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => $url,
    CURLOPT_POSTFIELDS => http_build_query($appParams),
));
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);
$dealparams = $result['result'];    // все параметры сделки в этом массиве
echo print_r($dealparams, 1);

?>

Понимаю , что решать надо через что-то подобное следующему:

        URL_Сервера = "api.имя_сайта.com";
        НТТР_Connect = Новый HTTPСоединение(URL_Сервера,,,,,,,Ложь);
        Сообщить("Создали соединение с сервером");
        ПараметрыАвторизации = "username=Name&password=xxxxxxxx";

        HTTP_Запрос = Новый HTTPЗапрос("/auth/token");
        HTTP_Запрос.Заголовки.Вставить("Content-type", "application/x-www-form-urlencoded");
        HTTP_Запрос.УстановитьТелоИзСтроки(ПараметрыАвторизации, КодировкаТекста.UTF8);      
        HTTP_Ответ = НТТР_Connect.ОтправитьДляОбработки(HTTP_Запрос);

но как "прикрутить" мой текст запроса php ко всему этому делу?
   Игорь_МММ
 
1 - 21.06.21 - 08:50
up
   Игорь_МММ
 
2 - 25.06.21 - 12:48
and down..

АдресСервера = ".....ru";
                АдресРесурса = "/...";
                Логин        = СтруктураНастроек.Логин;
                Пароль       = СтруктураНастроек.Пароль;
                
                ПараметрыВАдресе = "id=" + Формат(ДанныеТовар.IDBitrix,"ЧН=0; ЧГ=0");
                
                Соединение = Новый HTTPСоединение    (
                                                        АдресСервера,
                                                        ,// Порт по умолчанию

                                                        Логин,
                                                        Пароль,
                                                        ,// Прокси не используем (в случае необходимости еще объект ИнтернетПрокси сюда передавать нужно)

                                                        ,// Таймаут оставляем по умолчанию

                                                        Новый ЗащищенноеСоединениеOpenSSL()
                                                    );
                Запрос = Новый HTTPЗапрос;
                Запрос.Заголовки.Вставить("Content-type", "application\json");
                Запрос.АдресРесурса = АдресРесурса + "?" + ПараметрыВАдресе;
                Ответ = Соединение.ОтправитьДляОбработки(Запрос);
                РезультатТекстом = Ответ.ПолучитьТелоКакСтроку();    

и всего делов
   Dark_Warrior
 
3 - 25.06.21 - 15:34
(2) ++
Почти весь скрипт заменяется методами работы с http-сервисами от 1С, все параметры запихнуть в json и отдать методом УстановитьТелоИзСтроки()
   fisher
 
4 - 25.06.21 - 15:41
(2) Можешь еще результат из json десериализовать средствами 1С и получить сразу родные массивы/структуры. Чтоб руками не парсить.

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