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

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

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

> Без описания
Remyc
Отправлено: 13 Марта, 2022 - 03:58:57
Post Id



Пользователь
Участник


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




У меня на ПК работает сервер, при обращении к нему по адресу(для просмотра ссылки Вам необходимо авторизоваться) сервер возвращает JSON. В браузере все норм, сервер возвращает нужные данные, пытаюсь обратиться через кибор таким способом:
CODE:

string T;
if (sendgetweb(#T, "", "GET", "http:/"+"/localhost:8000", "api/events/?format=json", 3000)>0) messagebox (T);


ответа не получаю.

так же пробовал через WinInet:
CODE:

#define NULL 0
#define FALSE 0
#define INTERNET_OPEN_TYPE_PRECONFIG 0
#define INTERNET_DEFAULT_HTTPS_PORT 8000
#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)
{

int hConnect = InternetConnect(
hInternet,
"127.0.0.1",
INTERNET_DEFAULT_HTTPS_PORT,
NULL,NULL,
INTERNET_SERVICE_HTTP,
0,
1);

if (hConnect != NULL)
{
int hRequest = HttpOpenRequest(
hConnect,
"GET",
"api/events/?format=json",
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);
}


В результате получаю много букв Н.
При дебаге выяснил - bSend возвращает 0.

В чем ошибка?
(Добавление)
Проблема решена следующим образом:
Во втором варианте значение флага INTERNET_FLAG_SECURE установлено 0
Если оставить флаг 8388608, то будет открыто HTTPS соединение, сервер настроен на HTTP

А вот что делать с sendgetweb, я так и не понял, сервер вообще не видит запроса...
 
 Top
Kibor
Отправлено: 13 Марта, 2022 - 07:31:42
Post Id



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


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




А если
if (sendgetweb(#T, "", "GET", "https:/
?

За этот флаг отвечает что указано
http
или
https
 
 Top
Remyc
Отправлено: 13 Марта, 2022 - 09:17:38
Post Id



Пользователь
Участник


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




Пробовал такие варианты:
Спойлер (Отобразить)

Спойлер (Отобразить)

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


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




Powered by