Aller au contenu
Cardane

question HTTP request

Recommended Posts

Bonjour à tous, 

 

voilà, je suis en train de faire un petit QA dans lequel j'ai simplement besoin (entre autres choses) d'aller récupérer la valeur d'une entré analogique sur mon IPX.

J'ai donc le code suivant....  qui ne marche pas...  j'ai enlevé toutes les lignes additionnelles pour ne garder que le minimum mais je reçois l'erreur "runtime error : invalid argument"

 

Bon, je ne suis pas bien réveillé certainement parce que je ne vois pas du tout ce qui cloche ....  si quelqu'un avec les yeux plus ouverts que moi pouvait me dire ce qui déconne dans ce bout de code :-)

 

merci à tous

 

function QuickApp:onInit()
    self:debug("onInit")
    self.http = net.HTTPClient({timeout=3000})
end

function QuickApp:getIPXValue ()
self.http:request("XXX.XXX.XXX.XXX/api/xdevices.json?key=apikey&Get=A", {
	success = function(response)
	end,
	error = function(err)
	end,
	options = {
		method = 'GET'
	}
})
end

 

Modifié par Cardane

Partager ce message


Lien à poster
Partager sur d’autres sites

Enlève aussi l'option timeout

Partager ce message


Lien à poster
Partager sur d’autres sites

salut @Lazer, j'ai essayé avec et sans, même combat....  en fait l'erreur est dans la fonction getIPXValue, mais vu le peu de ligne qu'elle contient, soit je suis aveugle, soit c'est tellement évident que je passe à côté...

 

les messages d'erreur complets :

[03.03.2021] [11:38:15] [DEBUG] [QUICKAPP232]: std::runtime_error: 'Invalid argument'

[03.03.2021] [11:38:15] [ERROR] [QUICKAPP232]: QuickApp crashed

[03.03.2021] [11:38:15] [ERROR] [QUICKAPP232]: Unknown error occurred: handleJsonRpc

Partager ce message


Lien à poster
Partager sur d’autres sites

Mais elle est appelée comment cette fonction ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites

pour faire le test je l'appelle depuis la callback fonction d'un bouton, qui appelle cette fonction ci

Partager ce message


Lien à poster
Partager sur d’autres sites

OK mais justement ma question c'est comment tu l'appelles ?

La ligne de LUA je veux dire

 

Parce que self:getIPXValue() ce n'est pas pareil que QuickApp:getIPXValue()

Partager ce message


Lien à poster
Partager sur d’autres sites

oops, j'avais pas compris la question, désolé

voici le code, c'est via un self:getIPXValue()  mais j'ai essayé aussi avec QuickApp:getIPXValue

function QuickApp:onInit()
    self:debug("onInit")
    self.http = net.HTTPClient()
end

function QuickApp:btnRefreshOnRelease(event)
    self:getIPXValue()
end

function QuickApp:getIPXValue ()
   self:debug("In function call")
   self.http:request("192.168.1.43/api/xdevices.json?key=apikey&Get=A", {
       options = {
           method = "GET"
        },
        success = function(response)
        end,
        error = function(err)
        end
    })
end

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@Lazer, mais j'ai aussi essayé en mettant l'appel http dans la fonction d'appel du bouton ou même dans le onInit, avec chaque fois les mêmes messages d'erreur... ca doit être une erreur dans le self.http:request mais je ne vois pas

Partager ce message


Lien à poster
Partager sur d’autres sites

Need to add 'http://' prefix to url

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@jang, yesssss, so obvious :-)

thanks a lot

Partager ce message


Lien à poster
Partager sur d’autres sites

Euh sérieux c'était juste ça, tu n'avais réellement pas mis le http devant ton IP ?

 

de façon générale, il faut que tu penses à inclure les request() dans un pcall pour capturer et traiter l'erreur

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

oui, c'était juste ca, un copier coller malheureux et ensuite tellement bête que je ne l'ai jamais vu :-)

et oui, effectivement, mettre ca dans un pcall 

 

j'arrête de picoler le soir :D

Modifié par Cardane
  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 4 heures, Cardane a dit :

j'arrête de picoler le soir :D

Seulement le matin alors? ;)

  • Like 2
  • Haha 3

Partager ce message


Lien à poster
Partager sur d’autres sites

×