Guest User

huawei hilink get token

a guest
Oct 16th, 2016
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. :getHHLToken &::[adres IP]:zwraca zmienne %_Token% oraz %_SID% z Huawei HiLink do wykorzystania z curl lub wget, przyjmując opcjonalnie adres IP modemu
  2. setlocal
  3. rem przypisanie zmiennej HHL adresu modemu
  4. SET HHL=hi.link
  5. rem przyjmij pierwszy parametr jako adres IP modemu lecz pierw zweryfikuj
  6. 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
  7. rem inicjalizacja niepustych zmiennych
  8. set "_SID= "
  9. set "_Token= "
  10. rem wyczyść zmienną z adresem ze spacji
  11. set HHL=%HHL: =%
  12. set _c=curl -q -s -X GET --stderr nul --max-time 5
  13. rem pobranie tokena oraz ID sesji i przypisanie wartości
  14. for /f "tokens=1-4 delims=<>" %%a in ('%_c% http://%HHL%/api/webserver/SesTokInfo ^|find /i "Info>"') do (
  15. rem if /i "%%~c"=="/SesInfo" - sprawdza czy zmienna nie przekroczyła linii
  16. if /i "%%~a"=="SesInfo" if /i "%%~c"=="/SesInfo" set _SID=--header "Cookie: %%b"
  17. if /i "%%~a"=="TokInfo" if /i "%%~c"=="/TokInfo" set _Token=--header "__RequestVerificationToken: %%b"
  18. rem jeżeli przed pierwszym znakiem < lub > coś występuje:
  19. if /i "%%~b"=="SesInfo" if /i "%%~d"=="/SesInfo" set _SID=--header "Cookie: %%c"
  20. if /i "%%~b"=="TokInfo" if /i "%%~d"=="/TokInfo" set _Token=--header "__RequestVerificationToken: %%c"
  21. )
  22.  
  23. rem jeśli nowy token nie istnieje uzyskaj stary:
  24. if "%_Token:~0,2%"==" " for /f "tokens=1-3 delims=<>" %%a in ('%_c% http://%HHL%/api/webserver/token ^|find /i "token"') do (
  25. if /i "%%~a"=="token" set _Token=--header "__RequestVerificationToken: %%b"
  26. if /i "%%~b"=="token" set _Token=--header "__RequestVerificationToken: %%c"
  27. )
  28.  
  29. set _exit=0
  30. if "%_SID:~0,2%"==" " set /a "_exit+=2"
  31. if "%_Token:~0,2%"==" " set /a "_exit+=1"
  32. endlocal &(set "_SID=%_SID%" )&(set "_Token=%_Token%" )& exit /b %_exit%
  33. goto :eof
Add Comment
Please, Sign In to add comment