1. Ссылки покупок

    Стратегия на турбо опционы

    Обучение по Бинарным Опционам.

    Бизнес по рецепту. продажа женских товаров

    Мануал по добыче бесплатного трафика с поисковика Bing (2016)

    От 6к уникальных посетителей на страницу ВК

    Facebook

    Стратегия Лайв Профит - ставки на футбол

    [Ирина Шмидт] - Церебро Таргет 2016

    Новый дорген.

    Стратегия на спорт.

    Двойной арбитражник по бесплатному трафику (2016)

    Подробная инструкция по Созданию интернет магазина чая с нуля (2016)

    Чертежи солнечного био-вегетария площадью 1200 кв.м. (СБВ-Профи)

    Адский стрим по копирайтингу: то чувство, когда подглядывать - хорошо!

    Видео-Курс - Tехнология быстрого старта в email рассылках (2016)

    Продвижение партнерских программ в одноклассниках (2016)

    Научу грести трафик. Только успевай сервера покупать!

    Трафик из ВК (Схема + Кейсы)

    Пассивный доход со стабильными выплатами.Схема добычи трафика.

    Секрет создания аккаунта яндекс директ без НДС

    Система ставок от проверенного каппера

    Государственный и банковский конфискат +VIP блок (2016)

    Как работать и зарабатывать деньги на продвижении своих проектов (2016)

    Секреты бесплатной рекламы от бывшего сотрудника Вконтакте

    Mobile Арбитраж - Арбитраж мобильного трафика (2016)

    BUSINESS MANUAL - Безопасные схемы заработка

    Как получать 1000-и заказов из CPA сетей (Дм.Ковпак)

    Как зарабатывать удаленно 100 тыс. руб на продвижении в Инстаграме без вложений и жить в Тайланде

    Самонаполняемые Видео-сайты!

    Прибыльная стратегия для бинарных опционов, первый доход через считанные дни + бонус!

    Траф с Вк за копейки

    Профит на онлайн теме от 30к до Неизвестно в месяц

    Легальный высокодоходный бизнес в реале

Блог Колерия | Функция отправки POST запроса из 1С

  1. [Блог Колерия]
    В одном заказе использовался 1С и требовалось отправить данные на сервер POST запросом. Как же я был удивлен, что нет готовых методов и даже нет готовых функций в Интернете. Решил выложить наработку.

    Функция sendPostRequest( url, ОтправляемыеДанные )
    Домен = СтрПолучитьСтроку(СтрЗаменить(url, "/", Символы.ПС), 3);
    Попытка
    Соединение = Новый HTTPСоединение(Домен);
    Исключение
    Сообщить("Не удалось установить соединение с "+Домен);
    Возврат Ложь;
    КонецПопытки;

    ТелоЗапроса = "";
    Для Каждого Элемент из ОтправляемыеДанные Цикл
    Если ТелоЗапроса <> "" Тогда
    ТелоЗапроса = ТелоЗапроса + "&";
    КонецЕсли;
    ТелоЗапроса = ТелоЗапроса + URLEncode(Элемент.Ключ) + "=" + URLEncode(Элемент.Значение);
    КонецЦикла;

    ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
    ДискрипторФайла = Новый ТекстовыйДокумент;
    ДискрипторФайла.УстановитьТекст(ТелоЗапроса);
    ДискрипторФайла.Записать(ИмяВременногоФайла, КодировкаТекста.ANSI);
    ВрФайл = Новый Файл(ИмяВременногоФайла);
    КоличествоОктетов = ВрФайл.Размер();

    Заголовки = Новый Соответствие();
    Заголовки.Вставить("Content-Length", КоличествоОктетов);
    Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");

    ФайлОтветаСервера = ПолучитьИмяВременногоФайла();
    ДлинаСсылкиДоПути = Найти(url, Домен) + СтрДлина(Домен);
    ПутьСсылки = Сред(url, ДлинаСсылкиДоПути, СтрДлина(url)-ДлинаСсылкиДоПути+1);
    Сообщить(ПутьСсылки);

    Соединение.ОтправитьДляОбработки(ИмяВременногоФайла, ПутьСсылки, ФайлОтветаСервера, Заголовки);
    ТД = Новый ТекстовыйДокумент();
    ТД.Прочитать(ФайлОтветаСервера);
    Возврат ТД.ПолучитьТекст();

    КонецФункции


    Функция URLEncode( value )

    table = "%00%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10%11%12%13%14" +
    "%15%16%17%18%19%1A%1B%1C%1D%1E%1F%20%21%22%23%24%25%26%27%28" +
    "%29%2A%2B%2C%2D%2E%2F%30%31%32%33%34%35%36%37%38%39%3A%3B%3C" +
    "%3D%3E%3F%40%41%42%43%44%45%46%47%48%49%4A%4B%4C%4D%4E%4F%50" +
    "%51%52%53%54%55%56%57%58%59%5A%5B%5C%5D%5E%5F%60%61%62%63%64" +
    "%65%66%67%68%69%6A%6B%6C%6D%6E%6F%70%71%72%73%74%75%76%77%78" +
    "%79%7A%7B%7C%7D%7E%7F%80%81%82%83%84%85%86%87%88%89%8A%8B%8C" +
    "%8D%8E%8F%90%91%92%93%94%95%96%97%98%99%9A%9B%9C%9D%9E%9F%A0" +
    "%A1%A2%A3%A4%A5%A6%A7%A8%A9%AA%AB%AC%AD%AE%AF%B0%B1%B2%B3%B4" +
    "%B5%B6%B7%B8%B9%BA%BB%BC%BD%BE%BF%C0%C1%C2%C3%C4%C5%C6%C7%C8" +
    "%C9%CA%CB%CC%CD%CE%CF%D0%D1%D2%D3%D4%D5%D6%D7%D8%D9%DA%DB%DC" +
    "%DD%DE%DF%E0%E1%E2%E3%E4%E5%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF%F0" +
    "%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF";

    рез = "";

    length = СтрДлина( value );

    Для i = 1 По length Цикл
    ch = Сред( value, i, 1 );
    Если (ch = " ") ИЛИ ( ch = "+") Тогда // space
    Рез = Рез + "+";
    ИначеЕсли (ch = "-" ) ИЛИ ( ch = "_") // unreserved
    ИЛИ (ch = ".") ИЛИ (ch = "!")
    ИЛИ (ch = "~") ИЛИ (ch = "*")
    ИЛИ (ch = "") ИЛИ (ch = "(")
    ИЛИ (ch = ")") Тогда
    Рез = Рез + ch;
    Иначе
    code = КодСимволаASCII( ch );
    рез = рез + Сред( table, code*3 + 1, 3 );
    КонецЕсли;
    КонецЦикла;

    Возврат рез;
    КонецФункции

    Использовать вот так:

    ДанныеДляОтправки = Новый Соответствие();
    ДанныеДляОтправки.Вставить("mykey", "my&value");
    ДанныеДляОтправки.Вставить("myke1=", "пере=&");

    Сообщить(sendPostRequest( "http://kolerii.ru/testPOST.php", ДанныеДляОтправки ));

    Функцию URLEncode нагуглил :)
     

Поделиться этой страницей