POST запрос

04.02.10

Разработка - Запросы

Послать POST запрос и получить ответ.

Недавно столкнулся с необходимостью отправки post запросов из 1С 8.1 но ничего внятного так и не нашёл.

Предлагаю свой вариант решения проблемы.

До логического конца не дошёл ещё, как только доработаю, выложу обработку.

Функция ТекстЗапросБаланса(Пользователь,Пароль)
    Результат = "<?xml version=""1.0"" encoding=""utf-8""?>" +
                "<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">" +
                    "<soap:Body>" +
                        "<GetCreditBalance xmlns=""http://api.prostor-sms.ru/WebService.asmx"">" +
                            "<smsUser>" + Пользователь + "</smsUser>" +
                            "<password>" + Пароль + "</password>" +
                        "</GetCreditBalance>" +
                    "</soap:Body>" +
                 "</soap:Envelope>";
     Возврат Результат;
КонецФункции


Процедура ПослатьЗапрос()
    ИмяСервера= "http://api.prostor-sms.ru/WebService.asmx";
    Логин= "";
    Пароль= "";
    MSXML = Новый COMОбъект("MSXML2.XMLHTTP.4.0");
    MSXML.open("POST", ИмяСервера, 0);
    MSXML.setRequestHeader("Accept", "text/xml; charset=utf-8");
    MSXML.setRequestHeader("Cache-Control","no-store, no-cache, must-revalidate");
    MSXML.setRequestHeader("Cache-Control","post-check=0, pre-check=0");
    MSXML.setRequestHeader("SOAPAction", "http://api.prostor-sms.ru/WebService.asmx/GetCreditBalance");
    ЗапросXML = ТекстЗапросБаланса(Логин, Пароль);
    MSXML.send(ЗапросXML);
    ОтветПолучен = Ложь;
    Для НомерЦикла = 1 по 100 Цикл
        Если MSXML.readyState > 3 Тогда
            ОтветПолучен = Истина;
            Прервать;
        КонецЕсли;
    КонецЦикла;
    Если ОтветПолучен Тогда
        Результат = MSXML.responseXML.xml;
        xmlDoc = Новый COMОбъект("MSXML2.DOMDocument"); 
        xmlDoc.async = 0;
        xmlDoc.LoadXML(Результат);
        ЧтениеXML = Новый ЧтениеXML;
        ЧтениеXML.УстановитьСтроку(Результат);
        GetCreditBalanceResult = 0;
        creditBalance =  0;
        Пока ЧтениеXML.Прочитать() Цикл
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    171740    960    403    

924

Запросы Программист Бесплатно (free)

Увидел cheatsheet по SQL и захотелось нарисовать подобное, но про запросы.

18.10.2024    11718    sergey279    18    

65

Запросы Программист Платформа 1С v8.3 Запросы 1C:Бухгалтерия Бесплатно (free)

Столкнулся с интересной ситуацией, которую хотел бы разобрать, ввиду её неочевидности. Речь пойдёт про использование функции запроса АВТОНОМЕРЗАПИСИ() и проблемы, которые могут возникнуть.

11.10.2024    6669    XilDen    36    

83

Запросы Программист Запросы Бесплатно (free)

Отлаживая взаимодействие с базой данных, мы регулярно сталкиваемся с зависающими или подозрительно долго выполняющимися обращениями, негативно влияющими на производительность. О том, как в PostgreSQL выявить подозрительные запросы, основываясь на доступной о них информации, расскажем в статье.

16.08.2024    9358    user1840182    5    

28

Математика и алгоритмы Запросы Программист Платформа 1С v8.3 Запросы Бесплатно (free)

Рассмотрим быстрый алгоритм поиска дублей с использованием hash функции по набору полей шапки и табличных частей.

08.07.2024    2803    ivanov660    9    

22

Запросы СКД Программист Стажер Система компоновки данных Россия Бесплатно (free)

Часто при разработке отчетов в СКД возникает ситуация, когда не совсем понятно, почему отчет выводит не те данные, которые нужны, либо не выводит вовсе. Возникает потребность увидеть конечный запрос, который формирует СКД. Как это сделать, рассмотрим в этой статье.

15.05.2024    10666    implecs_team    6    

48

Запросы Программист Стажер Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Часто поступают задачи по произвольному распределению общих сумм. После распределения иногда пропадают копейки. Суть решения добавить АвтоНомерЗаписи() в ВТ распределения, и далее используя функции МАКСИМУМ или МИНИМУМ можем положить разницу копеек в первую или последнюю строку знаменателя распределения.

11.04.2024    3672    andrey_sag    10    

38
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Serj1C 483 05.02.10 08:38 Сейчас в теме
По статистие большинство веток формумов в интернете заканчиваются сообщением примерно с таким содержанием - "Спасибо, сейчас попробую, обязательно отпишу".
Надеюсь обработку выложишь )))
2. Andrew_flyer 84 05.02.10 12:43 Сейчас в теме
:) Статистика знает всё)
Сдвиги есть, так что выложу уже сегодня!
3. Andrew_flyer 84 05.02.10 13:31 Сейчас в теме
4. Arabo_xv 5 08.02.10 13:31 Сейчас в теме
(0)
Есть такой объект в 1С - HTTPСоединение
Не могу понять за чем нужно использовать COM для того что 1С умеет делать. Тут однозначно минус ставить надо за незнание предметной области.
6. Andrew_flyer 84 24.02.10 16:51 Сейчас в теме
7. lame 75 12.05.10 07:13 Сейчас в теме
вот мой рабоичй пример на POST-GET

http://infostart.ru/public/20383/
8. Andrew_flyer 84 17.05.10 11:17 Сейчас в теме
(7) кроме "HTTPСоединение" ни чего интересного тут не используется!
Интересно именно в виде xml запроса!
Кто сталкивался, пишите
9. Andrew_flyer 84 17.05.10 12:49 Сейчас в теме
В добавлении, рекомендую ознакомиться с механизмом преобразования строки в URL!!!
http://infostart.ru/public/70330/
10. lame 75 25.05.10 02:01 Сейчас в теме
Интересно именно в виде xml запроса

и в чем разница то ?
как сделаешь со стороны сервера разбор запроса - так и надо посылать.
если у тебя обработчик на сервере обрабатывает только xml-то конечнео надо посылать только xml.
в моем примере - никакого изврата. Посылается строка с параметрами типа
"&Parametr1="+Параметр1+"&Parametr2="+Параметр2;
все просто и элементарно.

тебе может показать пример формирования xml ?
11. postnet 38 31.08.10 17:31 Сейчас в теме
Зачем мучатся, все эти методы и именно для рассылки уже реализованы http://www.infostart.ru/public/65932/ И получение баланса и отправка SMS все есть и работает все через эти сервисы напрямую. Проверьте ваши логин и пароль. :D
Оставьте свое сообщение