Page 1 of 1
skicka HTTP/API kommandon HC2
Posted: 05 Mar 2014, 18:58
by Bisse90
hejsan
jag skulle vilja skicka följande API/Sträng (vet faktiskt ej vilket) http://192.168.xxx.xxx:xxxx/send?calle=p1&sms=p2
skriver jag detta i webbläsaren så fungerar det, vill ha det att fungera via HC2 också =)
skulle vilja göra detta via en virtuellenhet (knapp i den virtuella enheten)
någon som kan förklara för mig hur man gör då?
tack på förhand
Mvh Bisse
Re: skicka HTTP/API kommandon HC2
Posted: 06 Mar 2014, 23:42
by StarkJohan
Om du bara vill göra en http get och inte bryr dig om någon feedback:
Code: Select all
HC2 = Net.FHttp('192.168.0.X');
getResponse, status, errorCode = HC2:GET("/send?calle=p1&sms=p2");
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 02:08
by Bisse90
StarkJohan wrote:Om du bara vill göra en http get och inte bryr dig om någon feedback:
Code: Select all
HC2 = Net.FHttp('192.168.0.X');
getResponse, status, errorCode = HC2:GET("/send?calle=p1&sms=p2");
tack för svaret, men tyvärr fungerar det inte =(
som sakt jag kan skriva alltiohpa i webbläsaren och smset skickas iväg, men jag kan inte få det att fungera i HC2 =(
andra förslag till mig?
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 09:06
by StarkJohan
Vad är det för API du använder på mottagarsidan?
Vad får du för felmeddelande?
Ser du något i debug på fibaron?
Kör du som en scen eller en virtuell enhet?
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 11:20
by Bisse90
StarkJohan wrote:Vad är det för API du använder på mottagarsidan?
Vad får du för felmeddelande?
Ser du något i debug på fibaron?
Kör du som en scen eller en virtuell enhet?
På mottagar sidan vet jag ej, det är en färdig app för att skicka sms som api't går till
Men det kommer inte fram till appen
Ser inget i debugen
Kör det i en virtuellenhet
Mvh bisse
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 11:34
by StarkJohan
Vad är det för app? Har du någon info om den och dess API? Länk?
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 11:39
by Bisse90
StarkJohan wrote:Vad är det för app? Har du någon info om den och dess API? Länk?
appen heter sms modem (android app, jag tänkte använda den på en fast monterad surfplatta)
webbsida:
http://www.amcoding.com
api:
http://192.168.xxx.xxx:5555/send?callee=p1&sms=p2
p1 = telefonnummer
p2 = text i sms
exampel p2 = testing+for+android+sms+modem
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 11:46
by StarkJohan
Jag tror att problemet är hur du hittar fram. Är "send" i API't en php-fil eller en katalog? Vissa webläsare är smarta och lägger till filändelser och/eller slash om man glömt det i adressen. Det kan vara därför det fungerar i din webläsare.
Lägg till lite felhantering:
Code: Select all
HC2 = Net.FHttp('192.168.X.X');
local p1 = '0707346655';
local p2 = 'testing+for+android+sms+modem';
getResponse, status, errorCode = HC2:GET("/api/?calle="..p1.."&sms="..p2);
if tonumber(status) == 200 -- Command accepted
then
fibaro:debug(getResponse);
else
fibaro:debug("Error: "..errorCode);
fibaro:debug("Status: "..status);
end
Prova också med lite olika URL:
Code: Select all
getResponse, status, errorCode = HC2:GET("/api/send.php?calle=p1&sms=p2");
getResponse, status, errorCode = HC2:GET("/api/send/?calle=p1&sms=p2");
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 11:56
by Bisse90
StarkJohan wrote:Jag tror att problemet är hur du hittar fram. Är "send" i API't en php-fil eller en katalog? Vissa webläsare är smarta och lägger till filändelser och/eller slash om man glömt det i adressen. Det kan vara därför det fungerar i din webläsare.
Lägg till lite felhantering:
Code: Select all
HC2 = Net.FHttp('192.168.X.X');
getResponse, status, errorCode = HC2:GET("/api/send?calle=p1&sms=p2");
if tonumber(status) == 200 -- Command accepted
then
fibaro:debug(getResponse);
else
fibaro:debug("Error: "..errorCode);
fibaro:debug("Status: "..status);
end
Prova också med lite olika URL:
Code: Select all
getResponse, status, errorCode = HC2:GET("/api/send.php?calle=p1&sms=p2");
getResponse, status, errorCode = HC2:GET("/api/send/?calle=p1&sms=p2");
tyvärr verkar inget av det vilja fungera =/
får error kod 2 hela tiden, kan det vara att det inte går via rätt port?
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 11:57
by StarkJohan
Testa att ta bort "konstiga" tecken (dvs. +)
local p2 = Testaettmeddleande
Om du inte behöver specificera porten i din webläsare (dvs 192.168.0.1:5555 eller om du använder https) så går det automatiskt via port 80 som är standard.
Jag har inga androidenheter så jag kan tyvärr inte testa själv.
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 12:02
by StarkJohan
Om du använder variabler måste du givetvis se till att dom används. Annars blir calle = p1 vilket inte är ett giltigt nummer.
Code: Select all
getResponse, status, errorCode = HC2:GET("/api/?calle="..p1.."&sms="..p2);
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 12:03
by Bisse90
StarkJohan wrote:Testa att ta bort "konstiga" tecken (dvs. +)
local p2 = Testaettmeddleande
Om du inte behöver specificera porten i din webläsare (dvs 192.168.0.1:5555 eller om du använder https) så går det automatiskt via port 80 som är standard.
Jag har inga androidenheter så jag kan tyvärr inte testa själv.
det fungerar tyvärr inte heller, men jag måste specificera port i min webbläsare för att det ska fungera, det var lite synd =(
Edit:den vill ha port 5555
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 12:05
by Bisse90
StarkJohan wrote:Om du använder variabler måste du givetvis se till att dom används. Annars blir calle = p1 vilket inte är ett giltigt nummer.
Code: Select all
getResponse, status, errorCode = HC2:GET("/api/?calle="..p1.."&sms="..p2);
skriver nummret där och inga variabler
Re: skicka HTTP/API kommandon HC2
Posted: 08 Mar 2014, 12:14
by StarkJohan
Jo jag misstänkte att det var port 5555 som behövdes. Då är det inte så himla konstigt att det inte fungerar. Du skriver inte i din webläsare så som du skriver i ditt första inlägg... Det är mycket lättare att hjälpa till om du ger korrekt och fullständig information.
Port specificerar du såhär:
Code: Select all
HC2 = Net.FHttp('192.168.X.X','5555');