Aller au contenu
SGBVida

Developement - API OVH

Recommended Posts

Bonjour,

 

je suis en train de développer un script pour mettre à jour un enregistrement DNS chez OVH via l'API.

J'ai donc commencé à développer le script à l'aide du framework de Kristoff77 disponible sur github: https://github.com/Krikroff77/Fibaro-HC2-Lua-Framework

 

J'ai actuellement un soucie de compréhension pour créer la request HTTP.

 

Voici le code que j'utilise, si quelqu'un maitrise cette partie... :)

-- set Toolkit.Net.* trace enabled
Toolkit.Net.isTraceEnabled = true;

-- Tk:trace("OVH API domain: "..Domain);
local HttpClient = Toolkit.Net.HttpRequest("https://eu.api.ovh.com", 443);
HttpClient:setReadTimeout(1000);
--local TSTAMP , status, errorCode = HttpClient:request("GET",
local response, status, errorCode = HttpClient:request("GET",
"/1.0/auth/time/"
);
 
HttpClient:disconnect();
HttpClient:dispose();
HttpClient = nil;

Toolkit:trace("errorCode: "..errorCode);
Toolkit:trace("status: "..status);

 

 

et voici le debug:

[DEBUG] 17:10:23: Toolkit.Net.HttpRequest > Total memory in use by Lua: 244.72 Kbytes
[DEBUG] 17:10:23: Toolkit.Net.HttpRequest > Create Session on port: 443, host: eu.api.ovh.com
[DEBUG] 17:10:23: Toolkit.Net.HttpRequest::setReadTimeout > Timeout set to 1000 ms
[DEBUG] 17:10:23: Toolkit.Net.HttpRequest::request > /1.0/auth/time/ with method GET
[DEBUG] 17:10:23: Toolkit.Net.HttpRequest::request > Add header [GET /1.0/auth/time/ HTTP/1.1]
[DEBUG] 17:10:23: Toolkit.Net.HttpRequest::request > Add header [Host: eu.api.ovh.com:443]
[DEBUG] 17:10:24: Toolkit.Net.HttpRequest::receive > Length of result: 504
[DEBUG] 17:10:24: Toolkit.Net.HttpRequest::receive > Status 400
[DEBUG] 17:10:24: Toolkit.Net.HttpRequest::receive > Length of headers reponse 239
[DEBUG] 17:10:24: Toolkit.Net.HttpRequest::disconnect > Connected: false
[DEBUG] 17:10:24: Toolkit.Net.HttpRequest::dispose > Successfully disposed
[DEBUG] 17:10:24: Toolkit.Net.HttpRequest::dispose > Total memory in use by Lua: 245.44 Kbytes
[DEBUG] 17:10:24: errorCode: 0
[DEBUG] 17:10:24: status: 400

400 Bad Request
The plain HTTP request was sent to HTTPS port
nginx

 

 
merci de votre retour.
 
A+

 

Modifié par SGBVida

Partager ce message


Lien à poster
Partager sur d’autres sites

Outch... illisible via Tapatalk je regarde demain.


Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Désolé, je commence dans le LUA du coup c'est pas encore très clair pour moi... !

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu pars dans du codage délicat là, car à moins de lancer la scène toutes les 5 min tu auras un délais ou le DNS ne sera plus à jour.

Donc faire des vérifications que l'ip à changer ou non,  plus requete si IP différente.

 

Le plus opti est de le faire depuis ton routeur qui mettra le DNS à jour des que l'ip change surtout qu'un routeur de vaut pas forcément cher.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

désolé du retard, pas trop dispo ces temps ci...

 

oui en effet, je me rend compte que c'est du codage délicat, ceci dit je fait aussi cela pour apprendre ce nouveau langage!

par ailleurs j'avais un DynDNS a l'époque, mais j'oublie tout le temps de revalider l'association ip/dyndns tous les mois...

 

Du coup j'avais fait un script powershell pour le faire tout seul, je ne suis pas forcément a 1h près.

Partager ce message


Lien à poster
Partager sur d’autres sites

×