NEWS
Hilfe bei Skripte von request auf httpGet umbauen
-
@negalein poste doch mal deine httptest datei - da ist noch der wurm drin
-
damit scheine ich erfolg zu haben - wie gefällt dir diese lösung
//ab hier nix verändern const axios = require('axios'); const cheerio = require("cheerio"); const tough = require('tough-cookie'); const { wrapper } = require('axios-cookiejar-support'); const cookieJar = new tough.CookieJar(); const client = wrapper(axios.create({ jar: cookieJar, withCredentials: true, })); let $; async function main() { const optionsLogin = { method: 'POST', url: 'https://netservice.iqcard.at/de/login', data: `BENUID=${user}&PASSWT=${pass}&login-form-submit=login`, headers: { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7', 'Cache-Control': 'no-cache', 'Content-Type': 'application/x-www-form-urlencoded', 'DNT': '1', 'Origin': 'https://netservice.iqcard.at', 'Pragma': 'no-cache', 'Sec-CH-UA': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"', 'Sec-CH-UA-Mobile': '?0', 'Sec-CH-UA-Platform': '"Windows"', 'Sec-Fetch-Dest': 'empty', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Site': 'same-origin', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36', 'Cookie': 'cAccept=true; NETSERVICE=true; IQCARDPASSWT=; IQCARDBENUID= ', 'Referer': 'https://netservice.iqcard.at/de/kunden' }, maxRedirects: 5, // Anzahl der zu folgenden Redirects withCredentials: true // für das Cookie-Handling }; const optionsPriceinfo = { method: 'GET', url: 'https://netservice.iqcard.at/de/netservice_preisinfo', headers: { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7', 'Cache-Control': 'no-cache', 'DNT': '1', 'Origin': 'https://netservice.iqcard.at', 'Pragma': 'no-cache', 'Sec-CH-UA': '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"', 'Sec-CH-UA-Mobile': '?0', 'Sec-CH-UA-Platform': '"Windows"', 'Sec-Fetch-Dest': 'empty', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Site': 'same-origin', 'Sec-Fetch-User': '?1', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36', 'Referer': 'https://netservice.iqcard.at/de/netservice' }, maxRedirects: 5, // Anzahl der zu folgenden Redirects withCredentials: true // für das Cookie-Handling }; // Anmeldung mit POST-Request client(optionsLogin) .then(() => { // Erfolgreiche Anmeldung, jetzt GET-Request für Preisinfo return client(optionsPriceinfo); }) .then(response => { // Verarbeitung der Antwort const data = analyze(response.data); log(data); writeDatapoint(data); }) .catch(error => { console.error('Error making the request:', error); });
output
-
@liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:
poste doch mal deine httptest datei - da ist noch der wurm drin
#!/bin/bash dauer=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'` #curl "http://10.0.1.202:8081/set/0_userdata.0.Tests.htttpget-test?value=$dauer" iobroker state set 0_userdata.0.Tests.htttpget-test $dauer echo Temp: $dauer sleep 15 tempi=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'` iobroker state set 0_userdata.0.Tests.htttpget-test $tempi sleep 15 tempi=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'` iobroker state set 0_userdata.0.Tests.htttpget-test $tempi sleep 15 tempi=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'` iobroker state set 0_userdata.0.Tests.htttpget-test $tempi
-
die datei curl-format.txt hast du ins verzeichnis kopiert ?
-
@liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:
die datei curl-format.txt hast du ins verzeichnis kopiert ?
yes
-
in der ersten zeile dauer=......
ist da ein zeilenumbruch vor | awk '{print $2}' | sed -e 's/s/ - das muss in einer zeile stehen
-
kopiere das in die datei
#!/bin/bash dauer=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'` iobroker state set 0_userdata.0.Tests.htttpget-test $dauer sleep 15 tempi=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'` iobroker state set 0_userdata.0.Tests.htttpget-test $tempi sleep 15 tempi=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'` iobroker state set 0_userdata.0.Tests.htttpget-test $tempi sleep 15 tempi=`curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'` iobroker state set 0_userdata.0.Tests.htttpget-test $tempi
es dürfen keine zeilenumbrüche in den befehlen drin sein
-
@liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:
ist da ein zeilenumbruch vor | awk '{print $2}' | sed -e 's/s/ - das muss in einer zeile stehen
stimmt, da hats einen Zeilenumbruch reingehaun.
Aber auch ohne kommt nur:
pi@raspberrypi:/usr/local/bin $ httptest Warning: Failed to read curl-format.txtWarning: Failed to read curl-format.txtcurl: no URL specified! curl: try 'curl --help' or 'curl --manual' for more information /usr/local/bin/httptest: Zeile 5: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden /usr/local/bin/httptest: Zeile 4: iobroker: Kommando nicht gefunden. Warning: Failed to read curl-format.txtcurl: no URL specified! curl: try 'curl --help' or 'curl --manual' for more information /usr/local/bin/httptest: Zeile 7: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden /usr/local/bin/httptest: Zeile 6: iobroker: Kommando nicht gefunden. Warning: Failed to read curl-format.txtcurl: no URL specified! curl: try 'curl --help' or 'curl --manual' for more information /usr/local/bin/httptest: Zeile 9: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden /usr/local/bin/httptest: Zeile 8: iobroker: Kommando nicht gefunden. /usr/local/bin/httptest: Zeile 10: iobroker: Kommando nicht gefunden.
-
funktioniert der befehl in der console allein
curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'
-
@liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:
kopiere das in die datei
pi@raspberrypi:/usr/local/bin $ httptest Warning: Failed to read curl-format.txtWarning: Failed to read curl-format.txtcurl: no URL specified! curl: try 'curl --help' or 'curl --manual' for more information /usr/local/bin/httptest: Zeile 5: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden /usr/local/bin/httptest: Zeile 4: iobroker: Kommando nicht gefunden. Warning: Failed to read curl-format.txtcurl: no URL specified! curl: try 'curl --help' or 'curl --manual' for more information /usr/local/bin/httptest: Zeile 7: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden /usr/local/bin/httptest: Zeile 6: iobroker: Kommando nicht gefunden. Warning: Failed to read curl-format.txtcurl: no URL specified! curl: try 'curl --help' or 'curl --manual' for more information /usr/local/bin/httptest: Zeile 9: http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365: Datei oder Verzeichnis nicht gefunden /usr/local/bin/httptest: Zeile 8: iobroker: Kommando nicht gefunden. /usr/local/bin/httptest: Zeile 10: iobroker: Kommando nicht gefunden. pi@raspberrypi:/usr/local/bin $ sudo nano httptest pi@raspberrypi:/usr/local/bin $ httptest Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 3: iobroker: Kommando nicht gefunden. Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 6: iobroker: Kommando nicht gefunden. Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 9: iobroker: Kommando nicht gefunden. Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 12: iobroker: Kommando nicht gefunden. pi@raspberrypi:/usr/local/bin $
-
@liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:
funktioniert der befehl in der console allein
leider nein
pi@raspberrypi:/usr/local/bin $ curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//' Warning: Failed to read curl-format.txtpi@raspberrypi:/usr/local/bin $
-
@negalein zeig mal ls -la im verzeichnis -
-
@liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:
ls -la
pi@raspberrypi:/usr/local/bin $ ls -la insgesamt 11072 drwxrwsr-x 2 root staff 4096 Mai 28 09:21 . drwxrwsr-x 11 root staff 4096 Jul 7 2019 .. -rwxr-xr-x 1 pi pi 1909682 Apr 9 2019 composer -rw-r--r-- 1 root staff 0 Mai 27 22:58 curl-format.txt -rwxr-xr-x 1 root staff 1232 Mai 28 09:21 httptest -rwxr-xr-x 1 root staff 23084 Apr 9 2019 mbus-serial-request-data -rwxr-xr-x 1 root staff 21632 Apr 9 2019 mbus-serial-request-data-multi-reply -rwxr-xr-x 1 root staff 23428 Apr 9 2019 mbus-serial-scan -rwxr-xr-x 1 root staff 21840 Apr 9 2019 mbus-serial-scan-secondary -rwxr-xr-x 1 root staff 20132 Apr 9 2019 mbus-serial-select-secondary -rwxr-xr-x 1 root staff 22400 Apr 9 2019 mbus-serial-set-address -rwxr-xr-x 1 root staff 15448 Apr 9 2019 mbus-serial-switch-baudrate -rwxr-xr-x 1 root staff 21256 Apr 9 2019 mbus-tcp-application-reset -rwxr-xr-x 1 root staff 23460 Apr 9 2019 mbus-tcp-raw-send -rwxr-xr-x 1 root staff 22248 Apr 9 2019 mbus-tcp-request-data -rwxr-xr-x 1 root staff 21420 Apr 9 2019 mbus-tcp-request-data-multi-reply -rwxr-xr-x 1 root staff 22272 Apr 9 2019 mbus-tcp-scan -rwxr-xr-x 1 root staff 14864 Apr 9 2019 mbus-tcp-scan-secondary -rwxr-xr-x 1 root staff 15676 Apr 9 2019 mbus-tcp-select-secondary -rwxr-xr-x 1 root staff 9094204 Jul 7 2019 vzlogger pi@raspberrypi:/usr/local/bin $
-
@negalein
evtl ein rechte themaim verzeichnis sudo chmod 777 curl-format.txt
-
dann nochmal
curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//'
-
@liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:
dann nochmal
pi@raspberrypi:/usr/local/bin $ curl -w "@curl-format.txt" -s 'http://10.0.1.93/middleware.php/data.json?from=now&uuid[]=bc3edcd0-24c4-11ea-b257-bdbd9553c516&uuid[]=deda8550-24c4-11ea-b402-275ee0956365' | grep time_total -m 1 | awk '{print $2}' | sed -e 's/s//' Warning: Failed to read curl-format.txtpi@raspberrypi:/usr/local/bin $
-
@negalein aaarghh
mach mal sudo httptest
-
@liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:
mach mal sudo httptest
das ist eine Zicke
pi@raspberrypi:/usr/local/bin $ sudo httptest Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 3: iobroker: Kommando nicht gefunden. Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 6: iobroker: Kommando nicht gefunden. Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 9: iobroker: Kommando nicht gefunden. Warning: Failed to read curl-format.txt/usr/local/bin/httptest: Zeile 12: iobroker: Kommando nicht gefunden. pi@raspberrypi:/usr/local/bin $
-
siehe chat
-
sehr gut. das wäre die bibliothek gewesen, die ich auch verwendet hätte.
bei den headers könnte man ein paar noch entfernen, aber die stören so ja nicht.