Problém komunikace s WEDOS API
Dobrý den,
pokouším se vytvořit skript pro RouterOS (na stroji Mikrotik), který by kontroloval a případně prováděl změny DNS záznamů na mé doméně kovacik.fun. Mám ale problém se zasíláním požadavků na API rozhraní prosgtřednictvím příkazu :fetch. Server mi vrací tuto chybu: data={„response“:{„code“:2009,“result“:“Invalid request – request is empty“,“timestamp“:1712681193,“svTRID“:“1712681193.1220.7694.1″}}
Na komunikaci s rozhraním WAPI používám tuto konstrukci:
:local request („{\“request\“:{\“user\“:\““ . $WedosLogin . „\“,\“auth\“:\““ . $fraze . „\“,\“command\“:\“dns-rows-list\“,\“test\“:\“1\“,\“data\“:{\“domain\“:\““ . $DomainName . „\“}}}“)
:local response [/tool fetch url=$APIurl http-method=post http-data=$request http-header-field=“Content-Type: application/json“ output=user as-value]
Všechny uvedené proměnné jsou správně nastaveny dle dokumentace na stránkách WEDOS, escape sekvence kvůli syntaxi v RouterOS jsou snad také v pořádku, tak proč stále dostávám tu chybovou hlášku? V čem může být problém, co mám zkusit změnit?
5 Answers
Dobrý den,
dotaz přes formulář byl již zaslán a po několika e-mailech byl problém i zdárně vyřešen.
Celý problém byl v tom, že jsem se dle WAPI dokumentace snažil odesílat validní JSON strukturu včetně správného nastavení HTTP hlavičky a server toto nepobral. Jak mi bylo vysvětleno, jedná se pouze o textový řetězec formátovaný jako JSON začínající textem „request=“ a teprve dále následuje řetězec JSON struktury, tudíž tento celý požadavek žádným JSON validátorem neprojde jako validní. Co se týká HTTP hlavičky, ta musí být překvapivě nastavena na „Content-Type: application/x-www-form-urlencoded“.
Díky za podporu.
Dobrý den,
s tímto Vám bohužel z podpory účinně poradit nedokážeme. Podle stavu odpovědi WAPI reaguje, takže komunikace by blokovaná být neměla. Zkuste nejdřív otestovat úplně základní příkaz, jako například ping, a podle funkčnosti tohoto příkazu ladit buď autorizační část příkazu (ping neprošel), nebo data (ping prošel, nefungují složitější příkazy).
Z jaké IP se zařízení snaží k WAPI přistoupit?
V povolených adresách WAPI ale máte 2a00:11b0::/29
Dobrý den,
stav řešení Vašeho dotazu se mi bohužel nepodařilo dohledat. Pokud problém přetrvává, napište prosím přes formulář.