|
Ошибка инициализации SSL-соединения | ☑ | ||
---|---|---|---|---|
0
tabarigen
18.06.18
✎
17:27
|
Ребят хелп. Пытаюсь отправить сообщение из телеграмм. Код простой.
Procedure ОтправитьСообщениеВТелеграмм(message) Экспорт token = "?*?*?*(?*(?*(?*(?"; chat_id = 21212121; СтрокаСоединения = "/bot" + token + "/sendMessage"; Попытка Запрос = Новый HTTPЗапрос(); Запрос.АдресРесурса = СтрокаСоединения;//Тел.Пароль+"/sendMessage"; Запрос.Заголовки = Новый Соответствие(); ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаWindows(),Новый СертификатыУдостоверяющихЦентровWindows()); Соединение = Новый HTTPСоединение("api.telegram.org",,,,,5, ЗащищенноеСоединение); ТекстЗапроса=""; ТекстЗапроса=ТекстЗапроса+"&chat_id="+Формат(chat_id,"ЧГ="); ТекстЗапроса=ТекстЗапроса+"&text="+КодироватьСтроку(message,СпособКодированияСтроки.КодировкаURL); //КодироватьСтроку() отсутствует в 8.2 ищите сами как сделать url encode Запрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded"); Запрос.УстановитьТелоИзСтроки(ТекстЗапроса); Ответ=Соединение.ОтправитьДляОбработки(Запрос);//POST КодСостояния=Ответ.КодСостояния; СтрокаОтвета=Ответ.ПолучитьТелоКакСтроку(); Исключение ТекстОшибки = ОписаниеОшибки(); Сообщить(ТекстОшибки); КонецПопытки; EndProcedure На выходе получаю ошибку. Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка работы с Интернет: Ошибка инициализации SSL-соединения собственно вопрос, тут косяк в коде, или же проблема с сетью. Да и вообще у меня не открывется сайт api.telegram.org хотя у кого то в РФ он работает. короч как быть парни. |
|||
1
LeoKeyn
18.06.18
✎
17:42
|
Попробуй через
ПараметрыЗапроса=Новый Структура; ПараметрыЗапроса.Вставить("Subscriber",""); ПараметрыЗапроса.Вставить("Group",""); ПараметрыЗапроса.Вставить("User","U"); ПараметрыЗапроса.Вставить("Password",""); ПараметрыЗапроса.Вставить("Function",""); ПараметрыЗапроса.Вставить("Request",СтруктураДанных); //--------------------------------------------------------------------// ДанныеОтвет=Новый Структура("ОписаниеОшибки",""); ТелоЗапроса=""; Для Каждого Параметр Из ПараметрыЗапроса Цикл ТелоЗапроса=?(ТелоЗапроса="","",ТелоЗапроса+"&")+Параметр.Ключ+"="+КБО_КодироватьСтроку(Параметр.Значение); КонецЦикла; WinHttpRequest=Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); WinHttpRequest.SetTimeouts(900000,900000,900000,900000); WinHttpRequest.SetClientCertificate("CURRENT_USER\MY\"+ИмяСертификата); Скрипт=Новый COMОбъект("MSScriptControl.ScriptControl"); Скрипт.language="javascript"; Скрипт.AddObject("WinHttpRequest",WinHttpRequest); Скрипт.Eval("WinHttpRequest.Option(2)=1251"); // установка кодировки страницы Скрипт.Eval("WinHttpRequest.Option(4)=13056");//intSslErrorIgnoreFlags Игноировать ошбибки при SSL соединении Скрипт.Eval("WinHttpRequest.Option(6)=true");//blnEnableRedirects Разрешить перенаправления Скрипт.Eval("WinHttpRequest.Option(12)=true"); WinHttpRequest.Open("POST",АдресСервера+"/cpuEnquiry.asp",0); WinHttpRequest.SetRequestHeader("Content-Type","application/x-www-form-urlencoded; Charset=windows-1251;"); WinHttpRequest.SetRequestHeader("Connection","Close"); Попытка WinHttpRequest.Send(ТелоЗапроса); Исключение ДанныеОтвет.ОписаниеОшибки="Неудачная попытка отправки запроса! "+ОписаниеОшибки(); Возврат ДанныеОтвет; КонецПопытки; Если WinHttpRequest.Status<>200 Тогда ДанныеОтвет.ОписаниеОшибки="Неудачная попытка отправки запроса! "+WinHttpRequest.ResponseText; Возврат ДанныеОтвет; КонецЕсли; |
|||
2
Apokalipsec
18.06.18
✎
17:47
|
(0) Если у тебя нет доступа к сайту (у меня кстати тоже, он забанен), то устанавливай хоть защищенное, хоть незащищенное соединение - не подключится.)
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаWindows(),Новый СертификатыУдостоверяющихЦентровWindows()); можно заменить на: ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(); |
|||
3
tabarigen
18.06.18
✎
18:04
|
(2) средствами 1с как то можно проксировать запрос?
|
|||
4
Apokalipsec
18.06.18
✎
18:25
|
(3) Конечно можно, у HTTPСоединение даже есть параметр Прокси.
|
|||
5
tabarigen
18.06.18
✎
19:17
|
(4) попробовал как сказано тут, не прокатило Работа телеграм через прокси
|
|||
6
tabarigen
18.06.18
✎
20:08
|
(5) юзаю правда socs5. Не подскажете его 1с поддерживает?
|
|||
7
tabarigen
18.06.18
✎
21:05
|
Ошибка правда уже
404 |
|||
8
tabarigen
18.06.18
✎
21:05
|
Функция ПолучитьСоединениеССервером()
ИспользоватьПрокси = Истина; ПроксиСервер = "socks5://jqlwb.teletype.live"; // Собственно вот здесь мы и обращаемся через socks5 ПроксиПорт = 1080; ПроксиПользователь = "telegram"; ПроксиПароль = "telegram"; ИнтернетПрокси = Новый ИнтернетПрокси; ИнтернетПрокси.Установить("https", ПроксиСервер, ПроксиПорт, ПроксиПользователь, ПроксиПароль); Ключ = "ЗДЕСЬ_ВАШ_АПИ_КЛЮЧ"; Попытка Сервер = "api.telegram.org"; Если ИспользоватьПрокси Тогда Соединение = Новый HTTPСоединение(Сервер,,,,ИнтернетПрокси,,Новый ЗащищенноеСоединениеOpenSSL); Иначе Соединение = Новый HTTPСоединение(Сервер,,,,,,Новый ЗащищенноеСоединениеOpenSSL); КонецЕсли; Исключение Сообщить("Ошибка подключения к серверу Telegram!", СтатусСообщения.ОченьВажное); Сообщить(ОписаниеОшибки(), СтатусСообщения.ОченьВажное); Соединение = Неопределено; КонецПопытки; Возврат Соединение; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |