Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
konctantin777
Отправлено: 26 Ноября, 2020 - 14:52:51
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Здравствуйте
Нужно эмулировать для одного сайта отключение от интернета на одно мгновение, тольк чтобы данные на странице обновились. Думаю записать в файл hosts название сайта и тут же стереть. Как настройки для кибора записывать знаю, а как проверить, что если эта строчка есть (ya.ru), то не записывать и когда стирать, то только её ? Может по другому как то можно эмулировать на мгновение потерю интернета....
 
 Top
ivantu
Отправлено: 26 Ноября, 2020 - 15:11:21
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




Через командную строку можно:

CODE:

#define TH32CS_SNAPPROCESS 2
#define PROCESS_ALL_ACCESS 2097151
#define STARTF_USESHOWWINDOW 1
external(INT, "CreateProcess", "CreateProcessA", "Kernel32.dll");
external(INT, "CreateToolhelp32Snapshot", "CreateToolhelp32Snapshot", "Kernel32.dll");
external(INT, "Process32First", "Process32First", "Kernel32.dll");
external(INT, "Process32Next", "Process32Next", "Kernel32.dll");
external(INT, "CloseHandle", "CloseHandle", "Kernel32.dll");


system_("/c "+"netsh interface set interface name=^"Ethernet^" admin=DISABLED"); // ENABLED



function system_(string CommandLine){
int STARTUPINFOA[17], PROCESS_INFORMATION[4];
initialarray(#STARTUPINFOA[0], 0);
STARTUPINFOA[0]=68;
STARTUPINFOA[11]=STARTF_USESHOWWINDOW; // не показывать окно
if(CreateProcess(0, "cmd.exe "+CommandLine, 0, 0, 0, 0, 0, 0, address(#STARTUPINFOA[0]), address(#PROCESS_INFORMATION[0])))
{
while(findprocess(PROCESS_INFORMATION[2]))sleep(10); // ждать пока процесс существует
CloseHandle(PROCESS_INFORMATION[0]);
}
}

function findprocess(int PID)
{
char PROCESSENTRY32[296];
int exists=0, hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hSnapshot)
{
writeaddress(sizearray(PROCESSENTRY32), address(#PROCESSENTRY32[0]));
Process32First(hSnapshot, address(#PROCESSENTRY32[0]));
while(Process32Next(hSnapshot, address(#PROCESSENTRY32[0])))
{
if(codhexi(#PROCESSENTRY32[8], 4) == PID){exists++; break;}
}
CloseHandle(hSnapshot);
if(exists)return 1;
}
return 0;
}



name=^"Ethernet^" - указать имя своего подключения

(Отредактировано автором: 26 Ноября, 2020 - 15:14:24)

 
 Top
konctantin777
Отправлено: 26 Ноября, 2020 - 19:19:33
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Ок, спасибо. Буду пробовать будет ли обратно через 5мсек включаться )
 
 Top
konctantin777
Отправлено: 27 Ноября, 2020 - 11:44:43
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




 ivantu пишет:
Через командную строку можно:
Долго получается. Надо именно, чтобы на мгновение отключился и снова включился...

А через hosts- mytech.cnord.net записывает, а 127.0.0.1 mytech.cnord.net не записывает.

Можно как то ещё сделать, чтобы на мгновение сайт отключать и так каждые 100мсек. ?

(Отредактировано автором: 27 Ноября, 2020 - 11:46:35)

 
 Top
ivantu
Отправлено: 27 Ноября, 2020 - 11:59:32
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




Пример кода можно?
И для чего такое извращение?
Может есть другой путь?

(Отредактировано автором: 27 Ноября, 2020 - 12:00:45)

 
 Top
konctantin777
Отправлено: 27 Ноября, 2020 - 12:06:09
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




CODE:
//открываем файл для записи "w". Если файл существует он будет перезаписан.
//Для добавления в конец надо открывать с "a"
if (fopen ("C:\Windows\System32\drivers\etc\hosts", "w")!=0)
{//если открылся
fwrite(mytech.cnord.net);//записываем в файл


fclose();//закрываем файл
}


Записывает норм

А если добавляем впереди 127.0.0.1, чтобы блокировал сайт, то уже нет..
(Добавление)
 ivantu пишет:
И для чего такое извращение?
Может есть другой путь?


Чтобы обновились данные на веб странице без её перезагрузки.
Не специалист в вебсокетах....

(Отредактировано автором: 27 Ноября, 2020 - 12:08:23)

 
 Top
ivantu
Отправлено: 27 Ноября, 2020 - 12:12:43
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 732
Дата рег-ции: Нояб. 2013  
Репутация: 14




Нет кавычек

CODE:

//открываем файл для записи "w". Если файл существует он будет перезаписан.
//Для добавления в конец надо открывать с "a"
if (fopen ("C:\Windows\System32\drivers\etc\hosts", "w")!=0)
{//если открылся
fwrite("127.0.0.1 mytech.cnord.net");//записываем в файл


fclose();//закрываем файл
}
 
 Top
konctantin777
Отправлено: 27 Ноября, 2020 - 12:17:10
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Да блин... Спасибо !!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by