Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 5.43 Работа с HTTPS протоколом

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

21. Kibor - 13 Апреля, 2019 - 10:48:03 - перейти к сообщению
Сейчас выведет. Я только что его удалил.
22. AdryV - 13 Апреля, 2019 - 10:49:55 - перейти к сообщению
ну вывело после того как я написал.....
(Добавление)
кажись работает.... потестирую.... спасиб за фикс
23. Kibor - 24 Июня, 2019 - 06:13:12 - перейти к сообщению
Использование API WinInet, подключая нужные функции.
Скрипт посылающий запрос по https и читающий страницу.

Подробнее о WinInet

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",
NULL,
NULL,
0,
INTERNET_FLAG_SECURE | INTERNET_FLAG_NO_CACHE_WRITE,
1);


if (hRequest != NULL) // посылаем запрос
{
int bSend = HttpSendRequest(hRequest,
NULL,
0,
NULL,
0);

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

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

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

if (bRead == FALSE || dwBytesRead == 0) break;
}

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

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

InternetCloseHandle(hInternet);// закрываем WinInet
}
24. Zireael - 24 Июня, 2019 - 06:49:53 - перейти к сообщению
Вылет при повторном запуске скрипта.
 Цитата:
wwwww1:;

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

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

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

goto wwwww1;

Fs:;
messagebox (fr);

CODE:
int bRead = InternetReadFile(
hRequest,
address(#szData[0]),
sizearray(szData),
address(#dwBytesRead));
messagebox (format(#szData[0]));
25. Kibor - 24 Июня, 2019 - 06:58:52 - перейти к сообщению
 Zireael пишет:
Вылет при повторном запуске скрипта.

Исправил ошибку в скрипте.

sizearray(szData)-1,
26. 007wan - 29 Июня, 2019 - 03:33:48 - перейти к сообщению
А как сделать, что бы он открывал беседу вк, а то я подставлял и ничего не вышло. Выдает много "Н"
27. 007wan - 23 Июля, 2019 - 01:16:40 - перейти к сообщению
Как мне открыть сокет? Заменял сайт в примере выше на мой ип адрес сервера и не получилось. Так же не вывелось из-за этого messagebox. Если можно, то еще пример такого же плана для API WinInet. Вход осуществляется через ip адрес и порт.
(Добавление)
CODE:
char C[100000];
if (sendgetweb(#C[0], "", "GET", "http:/"+"/MY ip:port", "")>0)
{
int nom, siz;

messagebox(format(#C));

}

(Добавление)
Пожалуйста.
28. Kibor - 24 Июля, 2019 - 06:22:14 - перейти к сообщению
Подробнее о WinInet

Авторизация на https сайте путем отправки POST запроса в Кибор



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

}

29. 007wan - 25 Июля, 2019 - 00:45:29 - перейти к сообщению
У меня появилась идея, но с 2 вариантами: первый с авторизацией, а вторая без.
Суть идеи: Передавать состояние бота и управлять им через телефон, а так же получать статус.

Идея такая: для с авторизацией. Регистрируемся на любом сайте, ну или на Киборе(тестовый аккаунт). Текстовый аккаунт предназначен для компьютера и бота, а основной для телефона. Принцип: "Бот работает на компьютере" Есть 2 команды: Остановить и Запустить. Через браузер посылаем фиксированный текст из основного аккаунта на текстовый, а бот на компьютере в режиме ожидания(цикл, пока не станет "+1" или "больше, чем 1 СМС в Личном ящике". Далее заходит в ящик и читает сообщение И посылает обратно серверу другой текст. Скажем от телефона пришло "Остановить", а обратно придет "Остановлен". Далее мы читаем его с телефона и всё)

Второй вариант. Есть ПО для мобильного телефона. Тоже не хочу "Рекламировать"(так некоторые подумают), но связанное с программированием и там можно создавать сервер с телефона. И я думаю можно сделать всё тоже самое, что выше, но Сокете нету пароля, что будет проще.
(Добавление)
Однако, я пока не дошел как зайти на сервер, не используя параметры пароль и логин. читаю вот документацию)
30. Kibor - 25 Июля, 2019 - 01:14:36 - перейти к сообщению
 007wan пишет:
Однако, я пока не дошел как зайти на сервер, не используя параметры пароль и логин. читаю вот документацию)

https://kibor-bot.com/forum/topi...35205#1564035205

Powered by ExBB FM 1.0 Final