Столкнулся с такой странной ситуацией.
Служба написанная на Lazarus работала с API одной организации. Периодически забрасывая туда сообщения на HTTPS с помощью TidHTTP
Потом они поменяли URL_1 адрес своего API на URL_2, и утверждают что более ничего не делали (хотя подозреваю что LAMP части там все таки других версий)
Причем 1 метод API продолжает работать со старым адресом URL_1.
Это только из моей программы.
Из Google ARC client на оба адреса запросы идут нормально.
Сообщения полностью идентичные и простые это POST запрос с телом {"imType": "test"}, т.е. никакой кириллицы
Разобраться не получилось. ТП организации дали сайты для проверки
webhook.site
httpdump.io
На них так же из ARC всё уходит , а из программы выдает "400 Bad Request" на сайте webhook.site, и "403 Forbidden" на сайте httpdump.io
Посоветовали с заголовками по разбираться.
в итоге если прописать
- Код: Выделить всё
IdHTTPpostMsg.Request.ContentLength:=1000; (Длина сама корректируется до правильной) и
IdHTTPpostMsg.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36';
запрос стал приходить на httpdump.io с любым Body
а на webhook.site по прежнему ничего недоходит и ошибка возвращается "400 Bad Request"
В теме плохо разбираюсбь по этому накопал разные заголовки Headers и попробовал их добавлять.
- Код: Выделить всё
IdHTTPpostMsg.Request.Host:='webhook.site';
IdHTTPpostMsg.Request.Accept:='application/json';
IdHTTPpostMsg.Request.AcceptLanguage:='en-US,en;q=0.8';
IdHTTPpostMsg.Request.AcceptEncoding:='gzip, deflate';
IdHTTPpostMsg.Request.AcceptCharSet:= 'ISO-8859-1,utf-8;q=0.7,*;q=0.7';
IdHTTPpostMsg.Request.CustomHeaders.AddValue('keep-alive', '300');
IdHTTPpostMsg.Request.CustomHeaders.AddValue('connection', 'keep-alive');
IdHTTPpostMsg.Request.CustomHeaders.AddValue('pragma', 'no-cache');
IdHTTPpostMsg.Request.CustomHeaders.AddValue('cache-control', 'no-cache');
На отправку на сайт httpdump.io они не влияют никак вообще (ни наличие, ни отсутсвие).
и ситуацию с webhook.site тоже не исправляют.
В итоге имеется программа которая на 2 адреса работает httpdump.io и URL_1 , а на 2 не работает webhook.site и URL_2
Может кто сталкивался и может подсказать решение или зацепку?