|   |   | 
| 
 | vbscript | ☑ | ||
|---|---|---|---|---|
| 0
    
        onetone 05.02.18✎ 17:03 | 
        Всем привет, помогите разобраться с бЯдой. 
 Имеем такой кусок кода ИмяФайла = ПолучитьИмяВременногоФайла("xml"); Скрипт =Новый COMОбъект("MSScriptControl.ScriptControl"); Скрипт.Language="vbscript"; x = Новый COMОбъект("Microsoft.XMLHTTP"); x.Open("POST", сокрЛП(Константы.АдресСервераСМС.Получить())+"/smw/aisms?action=post_sms&user=" + СокрЛП(Константы.ЛогинСМС.Получить()) + "&pass=" + СокрЛП(Константы.ПарольСМС.Получить()) + "&sender=" + сокрЛП(Константы.ОтправительСМС.Получить()) + "&target=%2B" + Телефон + "&message=" + СокрЛП(ТекстСМС), 0, СокрЛП(Константы.ЛогинСМС.Получить()),СокрЛП(Константы.ПарольСМС.Получить())); x.Send(); s = Новый COMОбъект("ADODB.Stream"); s.Mode = 3; s.Type = 1; s.Open(); Скрипт.AddObject("s",s); Скрипт.AddObject("x",x); Скрипт.Eval("s.Write(x.responseBody)"); s.SaveToFile(ИмяФайла, 2); на одном из компьютеров, вываливается с ошибкой Скрипт.Eval("s.Write(x.responseBody)"); Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом. Как и в аналогичной теме Опять вопрос про WinHttp.dll но решения там не выложили. Помогите, куда копать? | |||
| 1
    
        mehfk 05.02.18✎ 17:06 | 
        А зачем вообще этот гемор с com-объектами, когда 1С 8 сама прекрасно работает с http?     | |||
| 2
    
        vde69 05.02.18✎ 17:07 | 
        проверь собраную строку на предмет недопустимых символов типа кавычек и т.д.     | |||
| 3
    
        drcrasher 05.02.18✎ 17:07 | 
        (1) восьмёрка сырая™     | |||
| 4
    
        onetone 05.02.18✎ 17:08 | 
        (1) досталось по наследству, переписывать за бесплатно не хочется, а клиент платить не хочет.     | |||
| 5
    
        mehfk 05.02.18✎ 17:08 | 
        (3) Варить пробовал?     | |||
| 6
    
        mehfk 05.02.18✎ 17:09 | 
        (4) Ну на нет и суда нет. Так и скажи - не работает, потому что ты не хочешь платить.     | |||
| 7
    
        onetone 05.02.18✎ 17:13 | 
        (2) проверял, если вставить собранную строку в браузер, отрабатывает как надо     | |||
| 8
    
        vde69 05.02.18✎ 17:20 | 
        (7) уверяю дело именно в ней... 
 или давай сюда полученную строку или думай сам | |||
| 9
    
        DexterMorgan 05.02.18✎ 17:22 | 
        (4) че там переписывать то, дольше ковыряться будешь     | |||
| 10
    
        onetone 05.02.18✎ 17:22 | 
        (8) http://92.50.156.138:26676/smw/aisms?action=post_sms&user=1&pass=1&sender=M2M&target=%2B79994450987&message=Здравствуйте, Шуппе К.А. Ваши карты на складе     | |||
| 11
    
        vde69 05.02.18✎ 17:22 | 
        ну и еще, если мне склероз не изменяет, параметр 0 - авто определение прокси из регистра... возможно дело в настройках прокси...     | |||
| 12
    
        onetone 05.02.18✎ 17:23 | 
        (9) Возможно, если никто дельным советом не поможет, перепишу.     | |||
| 13
    
        onetone 05.02.18✎ 17:24 | 
        (11) Прокси нет     | |||
| 14
    
        vde69 05.02.18✎ 17:24 | 
        1. пробел после post 
 2. кракозябры | |||
| 15
    
        onetone 05.02.18✎ 17:27 | 
        (14) 1 не пробел, а нижнее подчёркивание.
 2. Тело смс идет в кодировке. | |||
| 17
    
        vde69 05.02.18✎ 17:35 | 
        добавь кавычки в начало и в конец, у тебя пробелы есть 
 "http://92.50.156.138:26676/smw/aisms?action=post_sms&user=1&pass=1&sender=M2M&target=%2B79994450987&message=Здравствуйте, Шуппе К.А. Ваши карты на складе" | |||
| 18
    
        drcrasher 05.02.18✎ 17:42 | 
        (17) тогда не кавычки, а вместо пробелов %20     | |||
| 19
    
        onetone 05.02.18✎ 18:28 | 
        (17) (18) Вас не смущает что проблема только с одним компом, у других все норм?     | |||
| 20
    
        onetone 05.02.18✎ 21:31 | 
        Переписал отправку через http
 HTTP = Новый HTTPСоединение(Константы.АдресСервераСМС.Получить(),,Константы.ЛогинСМС.Получить(), Константы.ПарольСМС.Получить()); Заголовки = Новый Соответствие; Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded"); Заголовки.Вставить("charset", "UTF-8"); ТелоСкрипта = "smw/aisms?action=post_sms&user=" + Константы.ЛогинСМС.Получить() + "&pass=" + Константы.ПарольСМС.Получить() + "&sender=" + Константы.ОтправительСМС.Получить() + "&target=%2B" + "79252886512" + "&message=" + "проверка"; HTTP.Получить(Новый HTTPЗапрос(ТелоСкрипта, Заголовки), ИмяФайла); Смски отправляются, но в ответ приходится иероглифы, никак не могу расшифровать: ? 5?K ? ?B?RZ j?I(?~???``V3f{?En_?>3??dRo?7g??????s??(!?(?`z $)z?F?J-?#??[??Fyl | |||
| 21
    
        onetone 05.02.18✎ 21:31 | 
        (20) Читай файл так
 Ф = Новый ТекстовыйДокумент; Ф.Прочитать(ИмяФайла, КодировкаТекста.UTF8); | |||
| 22
    
        onetone 05.02.18✎ 21:33 | 
        А должно быть, что то типа того:
 <output> <result> <sms id="8535020" phone="79171234567"/> <sms id="8535021" phone="79057654321"/> </result> <errors> <error phone="1">Неправильный номер телефона: 1</error> <error phone="zz">Неправильный номер телефона: zz</error> </errors> </output> | |||
| 23
    
        glebgleb 05.02.18✎ 21:45 | 
        (20) Укажи в заголовках явно, что ты gunzip не умеешь.
 И урленкодом логины пароли и прочую хню прикрой. | |||
| 24
    
        glebgleb 05.02.18✎ 21:48 | 
        И у тебя вообще гет а не пост.     | |||
| 25
    
        onetone 05.02.18✎ 22:16 | 
        (24) так я вроде через гет и обращаюсь? (HTTP.Получить())     | |||
| 26
    
        glebgleb 05.02.18✎ 22:27 | 
        (25) А к чему тогда 6я строчка в листинге (0)?     | |||
| 27
    
        onetone 05.02.18✎ 22:37 | 
        (26) Аа, не это не мое творение. Так было сделано до меня, и все работало.  А теперь по словам клиента, как бы само перестало. Мне было проще переписать.     | |||
| 28
    
        glebgleb 05.02.18✎ 22:47 | 
        (27) То есть, если верить (19), раньше оно не работало только  на одном компьютере, а теперь не работает вообще. При этом переписывать забесплатно не хочется, но три с половиной часа ты на это уже угрохал.
 Чудны дела твои, Господи. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |