Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- :getHHLToken &::[adres IP]:zwraca zmienne %_Token% oraz %_SID% z Huawei HiLink do wykorzystania z curl lub wget, przyjmując opcjonalnie adres IP modemu
- setlocal
- rem przypisanie zmiennej HHL adresu modemu
- SET HHL=hi.link
- rem przyjmij pierwszy parametr jako adres IP modemu lecz pierw zweryfikuj
- if "%~1" neq "" if /i "%~1" neq "%HHL%" echo. %~1 |findstr /r /c:"^ *[0-9]*[0-9]\.[0-9]*[0-9]\.[0-9]*[0-9]\.[0-9]*[0-9] *$" >nul &&set HHL=%~1
- rem inicjalizacja niepustych zmiennych
- set "_SID= "
- set "_Token= "
- rem wyczyść zmienną z adresem ze spacji
- set HHL=%HHL: =%
- set _c=curl -q -s -X GET --stderr nul --max-time 5
- rem pobranie tokena oraz ID sesji i przypisanie wartości
- for /f "tokens=1-4 delims=<>" %%a in ('%_c% http://%HHL%/api/webserver/SesTokInfo ^|find /i "Info>"') do (
- rem if /i "%%~c"=="/SesInfo" - sprawdza czy zmienna nie przekroczyła linii
- if /i "%%~a"=="SesInfo" if /i "%%~c"=="/SesInfo" set _SID=--header "Cookie: %%b"
- if /i "%%~a"=="TokInfo" if /i "%%~c"=="/TokInfo" set _Token=--header "__RequestVerificationToken: %%b"
- rem jeżeli przed pierwszym znakiem < lub > coś występuje:
- if /i "%%~b"=="SesInfo" if /i "%%~d"=="/SesInfo" set _SID=--header "Cookie: %%c"
- if /i "%%~b"=="TokInfo" if /i "%%~d"=="/TokInfo" set _Token=--header "__RequestVerificationToken: %%c"
- )
- rem jeśli nowy token nie istnieje uzyskaj stary:
- if "%_Token:~0,2%"==" " for /f "tokens=1-3 delims=<>" %%a in ('%_c% http://%HHL%/api/webserver/token ^|find /i "token"') do (
- if /i "%%~a"=="token" set _Token=--header "__RequestVerificationToken: %%b"
- if /i "%%~b"=="token" set _Token=--header "__RequestVerificationToken: %%c"
- )
- set _exit=0
- if "%_SID:~0,2%"==" " set /a "_exit+=2"
- if "%_Token:~0,2%"==" " set /a "_exit+=1"
- endlocal &(set "_SID=%_SID%" )&(set "_Token=%_Token%" )& exit /b %_exit%
- goto :eof
Add Comment
Please, Sign In to add comment