Имя: Пароль:
1C
1С v8
Отправка POST-запроса
0 bplmeddy
 
03.02.17
11:19
Всем доброго времени суток. Возникла необходимость отправки запроса методом POST на адрес http://сайт.ком/index.php?route=checkout/order. Нужно передать 2 параметра : order_id и order_status_id. Делаю как пишет автор в этой статье: http://catalog.mista.ru/public/166276/, то-есть
Сервер = "сайт.ком";
Ресурс = "/index.php?route=checkout/order";
Но 1С выдаёт ошибку: Файл не обнаружен '/index.php?route=checkout/order'
по причине:
Ошибка работы с Интернет:  ресурс не найден (404). <!DOCTYPE html>
Прошу помощи у знающих людей. Спасибою
1 Windyhead
 
03.02.17
11:23
Передай в нее полную ссылку

Функция СтруктураURI(Знач СтрокаURI)
    
    СтрокаURI = СокрЛП(СтрокаURI);
    
    // схема
    Схема = "";
    Позиция = Найти(СтрокаURI, "://");
    Если Позиция > 0 Тогда
        Схема = НРег(Лев(СтрокаURI, Позиция - 1));
        СтрокаURI = Сред(СтрокаURI, Позиция + 3);
    КонецЕсли;

    // строка соединения и путь на сервере
    СтрокаСоединения = СтрокаURI;
    ПутьНаСервере = "";
    Позиция = Найти(СтрокаСоединения, "/");
    Если Позиция > 0 Тогда
        ПутьНаСервере = Сред(СтрокаСоединения, Позиция + 1);
        СтрокаСоединения = Лев(СтрокаСоединения, Позиция - 1);
    КонецЕсли;
        
    // информация пользователя и имя сервера
    СтрокаАвторизации = "";
    ИмяСервера = СтрокаСоединения;
    Позиция = Найти(СтрокаСоединения, "@");
    Если Позиция > 0 Тогда
        СтрокаАвторизации = Лев(СтрокаСоединения, Позиция - 1);
        ИмяСервера = Сред(СтрокаСоединения, Позиция + 1);
    КонецЕсли;
    
    // логин и пароль
    Логин = СтрокаАвторизации;
    Пароль = "";
    Позиция = Найти(СтрокаАвторизации, ":");
    Если Позиция > 0 Тогда
        Логин = Лев(СтрокаАвторизации, Позиция - 1);
        Пароль = Сред(СтрокаАвторизации, Позиция + 1);
    КонецЕсли;
    
    // хост и порт
    Хост = ИмяСервера;
    Порт = "";
    Позиция = Найти(ИмяСервера, ":");
    Если Позиция > 0 Тогда
        Хост = Лев(ИмяСервера, Позиция - 1);
        Порт = Сред(ИмяСервера, Позиция + 1);
    КонецЕсли;
    
    Результат = Новый Структура;
    Результат.Вставить("Схема", Схема);
    Результат.Вставить("Логин", Логин);
    Результат.Вставить("Пароль", Пароль);
    Результат.Вставить("ИмяСервера", ИмяСервера);
    Результат.Вставить("Хост", Хост);
    Результат.Вставить("Порт", ?(Порт <> "", Число(Порт), Неопределено));
    Результат.Вставить("ПутьНаСервере", ПутьНаСервере);
    
    Возврат Результат;
    
КонецФункции
2 bplmeddy
 
03.02.17
11:24
(1) Сейчас попробую.
3 bplmeddy
 
03.02.17
11:32
(1) В этой функции все параметры обязательны ? (логин/пароль/инфа пользователя)
4 Windyhead
 
03.02.17
14:06
(3) Если возникают подобные вопросы, то наверное стоит начать изучение с основ, а не POST запросов.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший