Имя: Пароль:
1C
1С v8
скрипт powershell переделать на http запрос
0 kennetmccormick
 
13.10.16
21:01
есть скрипт отправки смс

$url = "http://xx.xx.xx.xx/sendsms.cgi";
$username = "user"
$password = "pwd"
$reqBody = "[+xxxxxxxxx] I LOVE 1C!"
$req = [System.Net.WebRequest]::Create($url)
$req.Method = "POST";
$req.Credentials = new-object System.Net.NetworkCredential($username, $password)
$Body = [System.Text.Encoding]::UTF8.GetBytes($reqBody);
$stream = $req.GetRequestStream();
$stream.Write($Body, 0, $Body.Length);
$stream.Flush();
$stream.Close();
$resp = $req.GetResponse().GetResponseStream()

пытаюсь переделать на 1ске

HTTP = Новый HTTPСоединение("10.4.3.180",80,"visor","ping123",,Истина);//,,"visor","ping123",,Истина);
    //HTTP.Пользователь = "user";
    //HTTP.Пароль = "pwd";
    
    // Получим временный файл для передачи в теле POST запроса
    ФайлТелаЗапроса = ПолучитьИмяВременногоФайла();
    //// Запишем в файл содержимое тела запроса (текст)
    ТекстФайл = Новый ТекстовыйДокумент;
    ТекстФайл.УстановитьТекст("$reqBody = [+XXXXXXXX] I LOVE 1C!");
    ТекстФайл.Записать(ФайлТелаЗапроса, КодировкаТекста.ANSI);
    //// Получим размер данных для передачи в заголовок
    ФайлНаОтправку = Новый Файл(ФайлТелаЗапроса);
    РазмерФайлаНаОтправку = XMLСтрока(ФайлНаОтправку.Размер());
    //// Получим временный файл — тело ответа POST запроса
    ФайлРезультат = ПолучитьИмяВременногоФайла();
    //// Заголовок создадим в виде соответствия
    ЗаголовокЗапросаHTTP = Новый Соответствие();
    //ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded");
    ЗаголовокЗапросаHTTP.Вставить("Accept-Language", "ru");
    ЗаголовокЗапросаHTTP.Вставить("Accept-Charset", "utf-8");
    ЗаголовокЗапросаHTTP.Вставить("Content-Language", "ru");
    ЗаголовокЗапросаHTTP.Вставить("Content-Charset", "utf-8");
    //// Передаем в заголовках размер и тип данных на отправку
    ЗаголовокЗапросаHTTP.Вставить("Content-Length", РазмерФайлаНаОтправку);
    ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/json; charset=utf-8");
    HTTPЗапрос = Новый HTTPЗапрос("/sendsms.cgi?utf8");
    HTTPЗапрос.УстановитьИмяФайлаТела(ФайлТелаЗапроса);
    Результат  = HTTP.ОтправитьДляОбработки(HTTPЗапрос);


Результат  возвращает код состояния 200. но смс-ка не приходит. где копать?
1 arsik
 
гуру
13.10.16
22:08
У тебя данные для авторизации походу выложены. :)
2 kennetmccormick
 
13.10.16
22:25
(1) да пофиг. все равно внутри и временные
3 arsik
 
гуру
13.10.16
22:40
Зачем ты заголовок нигде не используешь, хотя создал его?
4 kennetmccormick
 
13.10.16
22:44
(3) переделывал разными способами. осталось просто
5 Йохохо
 
13.10.16
22:44
текст файла запроса пишется анси, а в заголовке объявляется ютф8
6 Mauser
 
13.10.16
22:46
ТекстФайл.УстановитьТекст("$reqBody = [+XXXXXXXX] I LOVE 1C!");
Дальше даже не читал
7 Йохохо
 
13.10.16
22:57
(6) дискету не отмонтировал? в смысле не экранировал?)
8 Mauser
 
13.10.16
23:25
(7)




R Tape loading error, 0:1
9 kennetmccormick
 
14.10.16
15:14
переделал на запуститьприложение. отправляю через curl
10 Serginio1
 
14.10.16
16:51
11 Serginio1
 
14.10.16
16:54
Для 1С нужно вручную перенаправления отрабатывать
http://its.1c.ru/db/metod8dev#content:5574:hdoc:_top