Hab auf die Schnelle auch mal auch Tankerkönig wieder zum Laufen gebracht.
Das muss natürlich nicht lange funktionieren, falls wieder was geändert wird.
Es besteht die Möglichkeit mehrere Tankstellen abzufragen, dazu die TankID kommasepariert eintragen.
Code: Alles auswählen
! Tankerkönigscript (c) angepasst by Alchy
var apikey = "++++++++++++++++++++++++"; ! Ihr API-Key
var tankids = "XXX-XXXX-XXXXX-XXX,YYY-YYYY-YYYYY-YYY,ZZZ-ZZZZ-ZZZZZ-ZZZ," ; ! Alle gewünschten Tankstellen komma separiert
! URL der tankerkoenig.de API
string tankerKoenigURL = "https://creativecommons.tankerkoenig.de/json/detail.php";
string slist = "";
! Nun über alle ausgesuchten Tankstellen iterieren.
string tankid;
foreach(tankid, tankids.Split(",")) {
string cmd = "LD_LIBRARY_PATH=/usr/local/addons/cuxd " # "/usr/local/addons/cuxd/curl --trace trace.txt -k -X GET -H \"Content-Type:application/json\" -G " # "-d id=" # tankid # " -d apikey=" # apikey # " " #tankerKoenigURL;
! curl Abfrage starten
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(cmd);
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var srueck = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
! Name
var posValueStart = "name\":\"";
var posValueEnd = "\",\"";
var posValue = srueck.Find(posValueStart) + posValueStart.Length();
var name = srueck.Substr(posValue, 100).StrValueByIndex(posValueEnd, 0);
! offen?
var posValueStart = ",\"isOpen\":";
var posValueEnd = ",";
var posValue = srueck.Find(posValueStart) + posValueStart.Length();
var off = srueck.Substr(posValue, 10).StrValueByIndex(posValueEnd, 0);
if (off == "true") { var offen = " offen "; } else { var offen = " geschlossen "; }
! Preis e5
var posValueStart = ",\"e5\":";
var posValueEnd = ",";
var posValue = srueck.Find(posValueStart) + posValueStart.Length();
var e5= srueck.Substr(posValue, 10).StrValueByIndex(posValueEnd, 0);
!Preis e10
var posValueStart = ",\"e10\":";
var posValueEnd = ",";
var posValue = srueck.Find(posValueStart) + posValueStart.Length();
var e10= srueck.Substr(posValue, 10).StrValueByIndex(posValueEnd, 0);
! Preis Diesel
var posValueStart = ",\"diesel\":";
var posValueEnd = ",";
var posValue = srueck.Find(posValueStart) + posValueStart.Length();
var diesel = srueck.Substr(posValue, 10).StrValueByIndex(posValueEnd, 0);
slist = slist #name #" hat "#offen #" E5 kostet "#e5 #"Euro - E10 kostet "#e10 #"Euro - DIESEL kostet "#diesel # "Euro \n";
}
WriteLine(slist);
Wer Fragen hat, einfach fragen
Auch hier der Hinweis, übertreibt es nicht mit dieser Art von Scripten !
Alchy