Я работаю в RadStudio Embarcadero C++ с Indy 10.6 ИЛИ Chilkat для публикации http.
Я тестировал в браузере с надстройкой RESTMAN, и запрос в настройках приложения работает! Затем я протестировал POSTMAN, там тоже работает. Только из приложения оно уже не хочет работать. Кажется, Cloudflare блокирует мне доступ к приложению, но я не знаю почему сейчас, ведь уже много лет оно работает нормально. Я немного покопался и увидел, что ошибка 403 возвращает HTML «Включить JavaScript и файлы cookie для продолжения» вместо json. Я также тестировал изменение отправленного UserAgent, но мне это не удалось.
Код: Выделить всё
//C++ RADSTUDIO EMBARCADERO
TStringStream * Send = new TStringStream(rtf) ;
Send->Write(SIR, 2*lung); // SSLOptions->Method = sslvSSLv23;
IdSSLIOHandlerSocketOpenSSL->SSLOptions->Mode = sslmClient;
IdSSLIOHandlerSocketOpenSSL->SSLOptions->VerifyDepth = 0;
IdHTTP->Request->ContentType = "application/json";
//WORKS IN POSTMAN, NOT WORK IN INDY 9 now
//IdHTTP->Request->UserAgent = "PostmanRuntime/7.49.1";
//IdHTTP->Request->CustomHeaders->AddValue("Postman-Token", "xxxxxx");
IdHTTP->Request->UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0";
IdHTTP->Request->ContentEncoding = "utf-8";
IdHTTP->Request->AcceptCharSet = "utf-8";
IdHTTP->Post(ADRESA, Send, AResponseBody);.....
//403 Forbidden, html response "Enable JavaScript and cookies to continue"
Подробнее здесь: https://stackoverflow.com/questions/798 ... cloudflare
Мобильная версия