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

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

 Страниц (6): « 1 2 3 [4] 5 6 »   

> Описание: Отправка и получение ответа на сайты по HTTPS, HTTP протоколу
Dantes3000
Отправлено: 24 Октября, 2019 - 12:47:33
Post Id



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


Покинул форум
Сообщений всего: 1465
Дата рег-ции: Июнь 2016  
Репутация: 58




Можно как-то получить значение tgme_widget_message_views (это количество просмотров поста) на этой странице?(для просмотра ссылки Вам необходимо авторизоваться)
проблема в том, что это, скорее всего, выводится js, а js может запустить только браузер. Может есть еще какие-то пути? Можно на python, можно на кибор
 
 Top
Zireael
Отправлено: 24 Октября, 2019 - 12:58:34
Post Id



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


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




[quote]на этой странице?(для просмотра ссылки Вам необходимо авторизоваться) /quote]
Что-то она не открывается.
 
 Top
Dantes3000
Отправлено: 24 Октября, 2019 - 16:27:42
Post Id



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


Покинул форум
Сообщений всего: 1465
Дата рег-ции: Июнь 2016  
Репутация: 58




 Zireael пишет:
Что-то она не открывается.


Это ж Телеграм) надо с VPN
 
 Top
testphp
Отправлено: 27 Января, 2020 - 23:33:45
Post Id



Пользователь
Прохожий


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




 Kibor пишет:
Подробнее о WinInet

Авторизация на https сайте путем отправки POST запроса в Кибор
<iframe width="560" height="315" src="https://www.youtube.com/embed/w1stPNZHq9Y" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>


CODE:
#define NULL 0
#define FALSE 0
#define INTERNET_OPEN_TYPE_PRECONFIG 0
#define INTERNET_DEFAULT_HTTPS_PORT 443
#define INTERNET_SERVICE_HTTP 3
#define INTERNET_FLAG_SECURE 8388608
#define INTERNET_FLAG_NO_CACHE_WRITE 67108864


external(INT, "InternetOpen", "InternetOpenA", "Wininet.dll");
external(INT, "InternetConnect", "InternetConnectA", "Wininet.dll");
external(INT, "HttpOpenRequest", "HttpOpenRequestA", "Wininet.dll");
external(INT, "HttpSendRequest", "HttpSendRequestA", "Wininet.dll");
external(INT, "InternetReadFile", "InternetReadFile", "Wininet.dll");
external(INT, "InternetCloseHandle", "InternetCloseHandle", "Wininet.dll");


int hInternet = InternetOpen(
"My bot",
INTERNET_OPEN_TYPE_PRECONFIG,
NULL,NULL,
0);

if (hInternet != NULL) // открываем HTTP сессию
{

int hConnect = InternetConnect(
hInternet,
"kibor-bot.com",
INTERNET_DEFAULT_HTTPS_PORT,
NULL,NULL,
INTERNET_SERVICE_HTTP,
0,
1);

if (hConnect != NULL)
{
int hRequest = HttpOpenRequest(
hConnect,
"POST",
"forum/loginout.php",
NULL,
NULL,
0,
INTERNET_FLAG_SECURE | INTERNET_FLAG_NO_CACHE_WRITE,
1);


if (hRequest != NULL) // посылаем запрос
{

string Header="Content-Type: application/x-www-form-urlencoded";
//Test_Kibor Это логин
//Test_Kibor_qwert Это пароль
string POSTData="action=login&imembername=Test_Kibor&ipassword=Test_Kibor_qwert&submit=%C2%F5%EE%E4";

int bSend = HttpSendRequest(hRequest,
Header,
size(Header),
POSTData,
size(POSTData));


string fr="";
char szData[1024];
int dwBytesRead;

wwwww1:;

int bRead = InternetReadFile(
hRequest,
address(#szData[0]),
sizearray(szData)-1,
address(#dwBytesRead));

fr=fr+format(#szData[0]);

if (bRead == FALSE || dwBytesRead == 0) goto Fs;

goto wwwww1;

Fs:;

messagebox (fr);

if (fopen ("c:\5.txt", "w")!=0)
{//если открылся
fwrite(fr);
fclose();//закрываем файл
}
start("c:\5.txt");

}

InternetCloseHandle(hRequest);// закрываем запрос
}

InternetCloseHandle(hConnect);// закрываем сессию
}

InternetCloseHandle(hInternet);// закрываем WinInet

почему выдает много букв Н? код копирую идентично - одни буквы Н. меняю данные на свой сервер - тоже самое
 
 Top
Adomb
Отправлено: 20 Февраля, 2020 - 19:19:50
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 185
Дата рег-ции: Июль 2015  
Репутация: 1




Тоже выдаёт одни H.
А sendgetweb почему-то у некоторых на компах стабильно -1 и хоть убейся.
 
 Top
Zireael
Отправлено: 21 Февраля, 2020 - 01:01:53
Post Id



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


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




 Цитата:
Тоже выдаёт одни H.

Все функции что-то возвращают. При ошибке обычно 0.
 Цитата:
int bSend = HttpSendRequest(...
messagebox(bSend);

Ищите какая функция не работает как надо, потом уже разбираться почему она не работает.

 Цитата:
InternetCloseHandle(hRequest);// закрываем запрос
}
InternetCloseHandle(hConnect);// закрываем сессию
}
InternetCloseHandle(hInternet);// закрываем WinInet

Нет смысла закрывать то, что не открылось. Лучше так:
CODE:
InternetCloseHandle(hRequest);// закрываем запрос
}
InternetCloseHandle(hConnect);// закрываем сессию
}
InternetCloseHandle(hInternet);// закрываем WinInet
}
 
 Top
Kibor
Отправлено: 03 Июня, 2020 - 20:43:54
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Доработка sendgetweb

Длинная позволяет формировать заголовок, POST запрос и длину POST запроса.

Примеры длинной

CODE:
string Header="Content-Type: application/x-www-form-urlencoded";

char POSTData[1000];
strcpy(#POSTData[0], "action=login&imembername=Test_Kibor&ipassword=Test_Kibor_qwert&submit=%C2%F5%EE%E4");//Пост запрос


char C[100000];
if (sendgetweb(#C[0], "My bot", "POST", "https:/^/kibor-bot.com", "forum/loginout.php", Header, #POSTData[0], size(#POSTData[0]))>0)
{
messagebox (format(#C[0]));

if (fopen ("c:\5.txt", "w")!=0)
{//если открылся
fwrite(format(#C[0]));
fclose();//закрываем файл
}
start("c:\5.txt");
}
 
 Top
Kibor
Отправлено: 06 Июля, 2020 - 17:30:13
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Доработка sendgetweb
Добавлена возможность использовать прокси.
Прокси указывается не обязательным первым параметром string

Зайти на форум kibor-bot.com через прокси сервер IP 88.199.21.76 порт 80
На kibor-bot.com будет IP прокси сервера 88.199.21.76
 Цитата:
sendgetweb("88.199.21.76:80", #T[2], "", "GET", "https:/^/kibor-bot.com", "forum")


Не использовать прокси
 Цитата:
sendgetweb(#T[2], "", "GET", "https:/^/kibor-bot.com", "forum")



Так же само с длинным вариантом sendgetweb

Зайти и авторизоваться через прокси
 Цитата:
sendgetweb("88.199.21.76:80", #C[0], "My bot", "POST", "https:/^/kibor-bot.com", "forum/loginout.php", Header, #POSTData[0], size(#POSTData[0]))


Зайти под своим IP
CODE:
sendgetweb(#C[0], "My bot", "POST", "https:/^/kibor-bot.com", "forum/loginout.php", Header, #POSTData[0], size(#POSTData[0]))
 
 Top
Kibor
Отправлено: 07 Июля, 2020 - 22:18:44
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Простой скрипт, который парсит сайт с списком бесплатных прокси, составляет из них массив и проверяет их на работоспособность.
Позволяет легко автоматически найти рабочий бесплатный прокси не заходя ни на какие сайты вручную и не проверяя список прокси руками.

В случае нахождения рабочего прокси выдает страницу(для просмотра ссылки Вам необходимо авторизоваться) на которую скрипт заходит через это прокси и выдает IP и порт для дальнейшего использования бесплатного прокси по назначению.

CODE:
int pos_size_edit0[1][4];
string text_edit0[1];

pos_size_edit0[0][0]=10; pos_size_edit0[0][1]=9; pos_size_edit0[0][2]=221; pos_size_edit0[0][3]=20;
text_edit0[0]="Парсинг прокси...";

createdialog(0, EDIT, #pos_size_edit0[0][0], #text_edit0[0]);
showdialog(0, "Поиск прокси", 200, 200, 250, 70, 1, 1);
//////////



find_proxi();

loop()sleep(10);

function find_proxi()
{
string P[100];
string R="(?<=input type=^"checkbox^" class=^"ch^" value=^")[\d]+(\.)[\d]+(\.)[\d]+(\.)[\d]+(:)[\d]+(?=^" onclick=^"SelectProxy\(this\)^")";
int pade=1;
string T;
S:;
if (sendgetweb(#T, "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0", "GET", "http:/^/foxtools.ru", "Proxy?page="+format(pade)))
{
text_edit0[0]="Парсинг прокси...";

int k=regexsearch(100, #P[0], T, R);
if (k==0)
{
messagebox ("Прокси нет");
return;
}
for (int n=0; n<k; n++)
{
text_edit0[0]=P[n];

if (sendgetweb(P[n], #T, "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0", "GET", "https:/^/kibor-bot.com", "forum"))
{
if (T!="")
{
if (fopen (tempfolder()+"proxi.txt", "w")!=0)
{//если открылся
fwrite("Рабочий прокси "+P[n]+"^r^n"+T);
fclose();//закрываем файл
}
start(tempfolder()+"proxi.txt");
if (messageboxyn("Прокси найден.^r^nДа - Закончить поиск^r^nНет - Продолжить поиск")==1)return;
}
}
}
}
pade++;
goto S;
}


Видео работы.
 
 Top
Adomb
Отправлено: 15 Июля, 2020 - 16:49:08
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 185
Дата рег-ции: Июль 2015  
Репутация: 1




Если обратиться к сайту который выключен, допустим, зависает на 15 секунд, прежде чем вернёт отрицательны ответ. opensocket тоже долго виснет. Можно ли какой параметр сделать чтобы по быстрому "понимал", что от сайта ответа не будет? Или как реализовать проверку можно ещё?
 
 Top
Страниц (6): « 1 2 3 [4] 5 6 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


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




Powered by