проверка интернета

1. ZZZ 84 12.09.12 12:28 Сейчас в теме
Как посредством кода во внешней обработке понять имеется ли подключение к интернету у пользователя или нет??
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. logos 211 12.09.12 12:30 Сейчас в теме
Проблема в том, что считать наличием интернета. Вот если шлюз провайдера пингуется, это инет? А если машинка за прокси, пинг не работает, но странички открываются, это инет?
3. dour-dead 271 12.09.12 12:32 Сейчас в теме
по пытайтесь создать соединение до нужного сайта. И будет видно есть ли Интернет.
4. dour-dead 271 12.09.12 12:35 Сейчас в теме
Пример из типовой конфиги:

// инициализируем настройки прокси, если они определены
НастройкиПрокси = ПолучитьНастройкиПрокси();
Если
ЗначениеЗаполнено(НастройкиПрокси.ИмяПользователя) Тогда
Прокси = Новый ИнтернетПрокси;
Прокси.Пользователь = НастройкиПрокси.ИмяПользователя;
Прокси.Пароль = НастройкиПрокси.Пароль;
Иначе
Прокси = Неопределено;
КонецЕсли;

// устанавливаем соединение с сервером
Попытка
Соединение = Новый HTTPСоединение(АдресСервераОнлайнПроверки, , , , Прокси);
Исключение
Сообщить("Не удалось установить соединение с сервером онлайн-проверки:" + Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное);
Возврат Неопределено;
КонецПопытки;
matveev.andrey.v; ya.Avoronov; +2 Ответить
6. mailrum2004 1 11.12.17 14:19 Сейчас в теме
Возникала аналогичная задача. Код в (4) мне не помог, т.к. при отсутствии доступа к ресурсу он ничего не сообщал (HTTPСоединение исключение не вызывало). Помог следующий код взятый здесь https://its.1c.ru/db/metod8dev#content:5574:hdoc:
	АдресСервераОнлайнПроверки = "http://yandex.st/jquery/1.6.4/jquery.min.js"; 
	ЕстьИнтернетСоединение = ложь;
	СтруктураURI = СтруктураURI(АдресСервераОнлайнПроверки); 	
	HTTPСоединение = Новый HTTPСоединение(СтруктураURI.Хост, СтруктураURI.Порт); 
	 
	HTTPЗапрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере); 
	Попытка
		Результат =  HTTPСоединение.Получить(HTTPЗапрос);
		ЕстьИнтернетСоединение = Истина;
	Исключение
		//Сообщить(ОписаниеОшибки());
		Сообщить("Проблема подключения к интернету...");
	КонецПопытки;


 Функция СтруктураURI(Знач СтрокаURI) Экспорт
	
	СтрокаURI = СокрЛП(СтрокаURI);
	
	// схема
	Схема = "";
	Позиция = Найти(СтрокаURI, "://");
	Если Позиция > 0 Тогда
		Схема = НРег(Лев(СтрокаURI, Позиция - 1));
		СтрокаURI = Сред(СтрокаURI, Позиция + 3);
	КонецЕсли;

	// строка соединения и путь на сервере
	СтрокаСоединения = СтрокаURI;
	ПутьНаСервере = "";
	Позиция = Найти(СтрокаСоединения, "/");
	Если Позиция > 0 Тогда
		ПутьНаСервере = Сред(СтрокаСоединения, Позиция + 1);
		СтрокаСоединения = Лев(СтрокаСоединения, Позиция - 1);
	КонецЕсли;
		
	// информация пользователя и имя сервера
	СтрокаАвторизации = "";
	ИмяСервера = СтрокаСоединения;
	Позиция = Найти(СтрокаСоединения, "@");
	Если Позиция > 0 Тогда
		СтрокаАвторизации = Лев(СтрокаСоединения, Позиция - 1);
		ИмяСервера = Сред(СтрокаСоединения, Позиция + 1);
	КонецЕсли;
	
	// логин и пароль
	Логин = СтрокаАвторизации;
	Пароль = "";
	Позиция = Найти(СтрокаАвторизации, ":");
	Если Позиция > 0 Тогда
		Логин = Лев(СтрокаАвторизации, Позиция - 1);
		Пароль = Сред(СтрокаАвторизации, Позиция + 1);
	КонецЕсли;
	
	// хост и порт
	Хост = ИмяСервера;
	Порт = "";
	Позиция = Найти(ИмяСервера, ":");
	Если Позиция > 0 Тогда
		Хост = Лев(ИмяСервера, Позиция - 1);
		Порт = Сред(ИмяСервера, Позиция + 1);
	КонецЕсли;
	
	Результат = Новый Структура;
	Результат.Вставить("Схема", Схема);
	Результат.Вставить("Логин", Логин);
	Результат.Вставить("Пароль", Пароль);
	Результат.Вставить("ИмяСервера", ИмяСервера);
	Результат.Вставить("Хост", Хост);
	Результат.Вставить("Порт", ?(Порт <> "", Число(Порт), Неопределено));
	Результат.Вставить("ПутьНаСервере", ПутьНаСервере);
	
	Возврат Результат;
	
КонецФункции

Показать
5. пользователь 16.09.12 20:08
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот