Если при получении данных с сайта возникает ошибка:
Ошибка при вызове метода контекста (Send): Произошла исключительная ситуация (WinHttp.WinHttpRequest): The certificate authority is invalid or incorrect
Это может означать, что соединение защищенное и 1С не может установить подлинность сертификата.
Чтобы обойти эту ситуацию можно включить игнорирование ошибок защищенного соединения. Ниже в листенге это «блок по отключению защищенного соединения»
WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.SetProxy(2, ПроксиСервер.Адрес+":"+ПроксиСервер.Порт); // устанавливаем параметры проксисервера если нужно
WinHttp.SetCredentials(ПроксиСервер.Логин, ПроксиСервер.Пароль, 1); // логин и пароль проксисервера
// ************************** Начало блока по отключению защищенного соединения **********
Скрипт= Новый COMОбъект("MSScriptControl.ScriptControl");
Скрипт.language="javascript";
Скрипт.AddObject("WinHttp",WinHttp);
Скрипт.Eval("WinHttp.Option(2)=1251"); // установка кодировки страницы
Скрипт.Eval("WinHttp.Option(4)=13056");//intSslErrorIgnoreFlags Игноировать ошбибки при SSL соединении
Скрипт.Eval("WinHttp.Option(6)=true");//blnEnableRedirects Разрешить перенаправления
Скрипт.Eval("WinHttp.Option(12)=true");//blnEnableHttpsToHttpRedirects Разрешить перенаправления с защищенного на не защиещенное соединение
// ************************** Конец блока по отключению защищенного соединения **********
WinHttp.Open("POST",URLСайта, Ложь); // URLСайта нужно заменить на тот к которому подсоединяетесь
WinHttp.SetRequestHeader("Host", URLСайта); // URLСайта нужно заменить на тот к которому подсоединяетесь
WinHttp.SetRequestHeader("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5");
WinHttp.SetRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
WinHttp.SetRequestHeader("Accept-Language","ru,en-us;q=0.7,en;q=0.3");
WinHttp.SetRequestHeader("Accept-Charset","windows-1251,utf-8;q=0.7,*;q=0.7");
WinHttp.SetRequestHeader("Keep-Alive","300");
WinHttp.SetRequestHeader("Connection","keep-alive");
WinHttp.SetRequestHeader("Content-Type","application/x-www-form-urlencoded");
WinHttp.Send(ДанныеPOSTЗапроса)
Ключевыми, здесь являются параметры 4 и 12
Также встречал следующий код, но он НЕ рабочий, хотя и не вызывает ошибок
WinHttp.Option(2, 1251);
WinHttp.Option(4, 13056);//intSslErrorIgnoreFlags
WinHttp.Option(6, true);//blnEnableRedirects
WinHttp.Option(12, true);//blnEnableHttpsToHttpRedirects
falselight
08.09.16
✎
12:00
Подскажите пожалуйста как избавиться от этой ошибки:
//
УРЛ = «ссылка» + СокрЛП(ЭлементыФормы.url.Значение);
ХМЛХТТП = ПолучитьCOMОбъект(«», «Microsoft.XMLHTTP»);
ХМЛХТТП.Open(«GET», УРЛ, Ложь);
ХМЛХТТП.Send(Null);
Пока ХМЛХТТП.Status <> 200 Цикл
Состояние(«Ждем…»);
КонецЦикла;
//ТегНачалоРезультата = «<parents>»;
//ТегКонецРезультата = «</parents>»;
//ТегНачалоРезультата2 = «<id>»;
//ТегКонецРезультата2 = «</id>»;
//ТегНачалоПоля = «<» + ТегПоляНаСайте + «>»;
//ТегКонецПоля = «</» + ТегПоляНаСайте + «>»;
ТекстОтвета = ХМЛХТТП.ResponseText;
//
{Форма.Форма.Форма(7)}: Ошибка при вызове метода контекста (send)
ХМЛХТТП.Send(Null);
по причине:
Произошла исключительная ситуация (msxml3.dll): Указанный протокол неизвестен.
Serginio1
08.09.16
✎
12:04
Аналог null в 1С это неопределено
Cyberhawk
08.09.16
✎
12:05
(1) Аналог, да не аналог и не везде
Serginio1
08.09.16
✎
12:06
(2) В ВК кстати Null
falselight
08.09.16
✎
12:13
работает на других функциях с null
я решил проверить обработкой, выдает ошибку
на метод send, что нужно исправить?
sapphire
08.09.16
✎
12:16
(0)
https://msdn.microsoft.com/ru-ru/library/ms536736.aspx
send method
Sends an HTTP request to the server and receives a response.
Syntax
XMLHttpRequest.send(varBody);
Parameters
varBody [in, optional]
Type: any
Any that specifies the body of the message being sent with the request.
Value Meaning
ArrayBuffer
A binary data. See FileReader.readAsArrayBuffer.
blob
A Blob (binary data object).
Document
A documentnode.
ArrayBufferView
A typed array view of an ArrayBuffer.
string
A DOMString.
FormData
A FormData object
Как видим, NULL там нет
falselight
08.09.16
✎
12:17
(1) если ставить неопределено за место null таже ошибка
sapphire
08.09.16
✎
12:17
+(5) Но, поскольку varBody optional, то,
ХМЛХТТП.Send();
falselight
08.09.16
✎
12:17
(0) а что там должно быть?
sapphire
08.09.16
✎
12:18
(6) Не ставьте вообще ничего
falselight
08.09.16
✎
12:18
(9) попробую
falselight
08.09.16
✎
12:21
(9) ругается
{Форма.Форма.Форма(8)}: Ошибка при вызове метода контекста (send)
ХМЛХТТП.Send();
по причине:
Произошла исключительная ситуация (msxml3.dll): Указанный протокол неизвестен.
falselight
08.09.16
✎
12:21
что то не так!!!
Serginio1
08.09.16
✎
12:22
(12) Пустую строку
sapphire
08.09.16
✎
12:22
(11) Так это не потому.
Вы в УРЛ пихаете что?
УРЛ = «ссылка» + СокрЛП(ЭлементыФормы.url.Значение);
Serginio1
08.09.16
✎
12:22
sapphire
08.09.16
✎
12:23
+(14) Любой браузер ругнется на такой урл
falselight
08.09.16
✎
12:27
(16) то что я ложу в УРЛ пробовал в браузере он возвращает номер, то есть работает
falselight
08.09.16
✎
12:32
брал с отладчика с табло, вставлял в строку браузера
sapphire
08.09.16
✎
12:34
(17) НЕ ВЕРЮ (с)
sapphire
08.09.16
✎
12:35
(18) значение УРЛ в студию.
Serginio1
08.09.16
✎
12:35
(18) А там по аналогии с 1С
xhr.open(‘POST’, ‘/server’, true);
а в Send ресурсы
falselight
08.09.16
✎
12:37
Serginio1
08.09.16
✎
12:38
Serginio1
08.09.16
✎
12:39
А попробуй
ХМЛХТТП.Open(«GET», «http://www.reestr35.ru/admin/offline_func.php»;, Ложь);
ХМЛХТТП.Send(«?act=add_redirect&url=http://ya.ru»;);
sapphire
08.09.16
✎
12:43
(22)
УРЛ = «http://www.reestr35.ru/admin/offline_func.php?act=add_redirect&url=http://ya.ru»;;
ХМЛХТТП = ПолучитьCOMОбъект(«», «Microsoft.XMLHTTP»);
ХМЛХТТП.Open(«GET», УРЛ, Ложь);
ХМЛХТТП.Send(Null);
Пока ХМЛХТТП.Status <> 200 Цикл
Состояние(«Ждем…»);
КонецЦикла;
ТекстОтвета = ХМЛХТТП.ResponseText;
У меня работает.
falselight
08.09.16
✎
12:46
(25) почему у меня может быть ошибка?
falselight
08.09.16
✎
12:54
(26) не подскажете? если все одинаково, то дело в сервере?
Serginio1
08.09.16
✎
12:57
falselight
08.09.16
✎
12:58
(28) попробовал на своем компе, тоже самое, ошибка
Serginio1
08.09.16
✎
12:59
falselight
08.09.16
✎
12:59
(28) все же не понимаю как мне устранить эту ошибку? (
falselight
08.09.16
✎
13:00
(30) (24) в смысле?
falselight
08.09.16
✎
13:01
(30) но вы говорите же что у вас выполняется все
Serginio1
08.09.16
✎
13:07
врап=новый COMОбъект(«NetObjectToIDispatch45»);
HttpClient=Врап.ПолучитьТипИзСборки(«System.Net.Http.HttpClient»,»System.Net.Http.dll»);
handler = врап.СоздатьОбъект(«System.Net.Http.HttpClientHandler»);
DecompressionMethods= Врап.ПолучитьТип(«System.Net.DecompressionMethods»);
handler.AutomaticDecompression=Врап.OR(DecompressionMethods.GZip,DecompressionMethods.Deflate) ;
Клиент=Врап.СоздатьОбъект(HttpClient,handler);
УРЛ = «http://www.reestr35.ru/admin/offline_func.php?act=add_redirect&url=http://ya.ru»;;
Стр=Клиент.GetStringAsync(УРЛ).Result;
Сообщить(Стр);
//Клиент.Dispose();
Врап.ЗакрытьРесурс(Клиент);
Выдает
Your IP (хх.ххх.х.ххх) is not allowed.
falselight
08.09.16
✎
13:09
(34) да если пробовать как в 24, тоже
Serginio1
08.09.16
✎
13:12
(33) Это не я а 25
Serginio1
08.09.16
✎
13:13
(32) Попробуй 15+30
falselight
08.09.16
✎
14:14
(36) узнал что такое бывает на сервере иногда
то есть в иной период возможно сработает, как в (0)
Serginio1
08.09.16
✎
14:22
(38) Побробуй 37 для успокоения души
Serginio1
08.09.16
✎
14:23
38 при этом из браузера читает?
falselight
08.09.16
✎
14:30
(39) пока меня выкинуло с сервера и не пускает (((( ожидаю когда наладится если
(24) вот это сработало у меня на компе, выдав результат Your IP (хх.ххх.х.ххх) is not allowed, так как там можно только с сервера, я хотел проверить это на сервере и меня выбросило
то есть при (24) ошибки той нет, и по коду идет дальше
(40) (0) + ссылка из (22) в браузере возвращает число на пустой странице, которое мне и нужно считать
Serginio1
08.09.16
✎
14:39
(41) Значит у тебя проблема с библиотеками на сервере. Небось 64 разрядны. А почему HTTPСоединеие не используешь?
Почему 37 не хочешь попробовать?
eklmn
08.09.16
✎
14:57
прокси все ломает…
sapphire
08.09.16
✎
14:59
(42) Нет не с библиотеками.
Serginio1
08.09.16
✎
15:01
(44) Возможно. Я таким анахронизмом давно не занимаюсь.
sapphire
08.09.16
✎
15:02
(41) У меня тоже именно это (Your IP (хх.ххх.х.ххх) is not allowed) и выдало.
О чем это говорит, что разрешен вход либо под определенным агентом с определенной подсети, иначе браузер не выдавал бы
числа <<ссылка из (22) в браузере возвращает число на пустой странице, которое мне и нужно считать>>.
falselight
08.09.16
✎
15:53
(42) на сервере 64х разрядная система
(46) да работать это будет только на сервере
falselight
08.09.16
✎
15:54
(42) (37) там много написано, изучать неделю только нужно, мне дали пример кода и что делать объяснили, но вот из за ошибки на send ничего не работает
sapphire
08.09.16
✎
15:54
(47) неа, иначе как ты видишь ссылка из (22) в браузере возвращает число на пустой странице, которое мне и нужно считать.
falselight
08.09.16
✎
15:55
(49) я вижу это в браузере на сервере, там только работает
falselight
08.09.16
✎
15:57
но вот из 1с ломается на методе send, пока ни разу не сработало
то что в (24) возвратило <?xml version=»1.0″ encoding=»UTF-8″?> то есть это не подойдет наверное, так как это не то что нужно
falselight
08.09.16
✎
16:00
{Форма.Форма.Форма(7)}: Ошибка при вызове метода контекста (send)
ХМЛХТТП.Send(Null);
по причине:
Произошла исключительная ситуация (msxml3.dll): Указанный протокол неизвестен.
||
остается
Serginio1
08.09.16
✎
16:18
Serginio1
08.09.16
✎
16:20
Рядом с NetObjetToIDispatch45.dll лежит RegAsm.bat
его нужно запустить от администратора. Там делов меньше минуты
falselight
08.09.16
✎
16:56
(54) ну я не администратор на сервере, мне сказали что метод сенд иногда не работает, иногда работает, я не пойму этого всего пока
falselight
08.09.16
✎
16:57
(54) я не в теме этого всего, с этим всем нужно разбираться
Ошибка при вызове метода контекста (send): Отказано в доступе
Ошибка произошла при использовании сервиса геокодирования Яндекса (в рамках задачи получения ближайших станций метро по адресу)
Быстрый переход
- Полный текст
- Анализ вариантов
- Решение:
- Пример кода
Полный текст
Ошибка при вызове метода контекста (send): Произошла исключительная ситуация (msxml3.dll): Отказано в доступе
Анализ вариантов
1. Найденное на просторах интернета решение добавить «www.» в строку, привело к другой ошибке (отсутствию ресурса, да и как выяснилось там Ошибка происходила на Open).
2. Изменился адрес или формат запроса.
Зайдя на страницу описания сервиса, в глаза бросилось, что Яндекс перешел https. (На этапе проверки в браузере, не обратил внимание на redirect c http).
Решение:
Перешел к уже отлаженному на https «Winhttp», возможно свойства Option применимы и XMLHTTP, т.к. остальные, используемые методы и свойства, совместимы.
Пример кода
XMLHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); XMLHttp.Option(2,"UTF-8"); XMLHttp.Option(4, 13056); //intSslErrorIgnoreFlags Попытка XMLHttp.Open("GET", Запрос, Ложь,login,Password); Исключение Ошибка = ОписаниеОшибки(); Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Ошибочный OPEN "+Ошибка+"("+Запрос+")"; Сообщение.Сообщить(); Возврат Ложь; КонецПопытки; //Отправка запроса Попытка XMLHttp.Send(); Исключение КонецПопытки;
Ни одно, даже самое верное дело не двигается без рекламы… Обычно думают, что надо рекламировать только дрянь,- хорошая вещь и так пойдет. Это самое неверное мнение. Реклама — это имя вещи… Реклама должна напоминать бесконечно о каждой, даже чудесной вещи… Думайте о рекламе!»
Ошибка при вызове метода контекста (send) по причине: Произошла исключительная ситуация (msxml6.dll): Отказано в доступе.
Описание ошибки:
При парсинге страницы сайта, точнее при попытке получения файла-изображения:
Ошибка при вызове метода контекста (send)
ХМЛХТТП.Send();
по причине:
Произошла исключительная ситуация (msxml6.dll): Отказано в доступе.
Найденные решения:
Все найденные в поисковике по данном запросу результаты оказались не эффективными в преодолении ошибки, но все-таки приведу ссылки с форума сайта infostart.ru здесь, может помогут в других смежных аспектах приведенной ошибки:
Ошибка при вызове метода контекста (send) — о доступности на клиенте и сервере файла msxml3.dll
Ошибка при вызове метода контекста (send) — о сбое скачивания с ресурса по причине msxml6.dll
Вот участок кода, в котором возникала ошибка:
Оказалось, что ранее, при получении ссылки картинки, не учитывался факт, что на сайте используется https, а ссылка формировалась с http:\\. После учета наличия защищенного соедения на сайте и использования https:\\ ошибка не проявлялась:
ХМЛХТТП = Новый COMОбъект(«MSXML2.XMLHttp.6.0»);
ХМЛХТТП.Open(«GET», СсылкаНаКартинку, Ложь);
ХМЛХТТП.Send();
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
20-06-2019
Журавлев А.С.
(Сайт azhur-c.ru)
Попробовал на 5.29.5.540, тоже самое, инфо по отправке ниже, обратите внимание, что отправлено как «ЧЕРНОВИК», в пакете 2 документа, один из них неформализованный, на нем и ошибка
Пакет отправлен как черновик (Время ЕКБ, МСК+2): 09.12.2019 9:20:45, OrganizationDiadoc.Id = 4a15383adbb94a5ebb01a68f20132765@diadoc.ru, PackageSendTask.OperationId = 0a8146e6-dbc6-45cd-b59a-69a58a8a14ed, PackageSendTask.CounteragentId = d64a17ceabc64022be61bdab30279d54@diadoc.ru
ошибка та же,
Ошибка при вызове метода контекста (Send): Произошла исключительная ситуация (PackageSendTask2.Send): ##100[Ошибка сервера Диадок]code:500, HTTP error: The server encountered an internal error or misconfiguration and was unable to complete your request