Advertisement
Guest User

hilink api batch ussd token

a guest
Oct 16th, 2016
483
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 5.90 KB | None | 0 0
  1. @echo off &:: HHL_token_test.bat
  2. setlocal
  3. set modIPAdr=192.168.8.1
  4.  
  5. call :getHHLToken %modIPAdr%
  6. echo wylaczenie transmisji
  7. curl -X POST -d "<?xml version="1.0" encoding="UTF-8"?><request><dataswitch>0</dataswitch></request>" http://%modIPAdr%/api/dialup/mobile-dataswitch %_SID% %_Token% -H "Content-Type: text/xml" >nul
  8. if "%~1"=="" echo.OK
  9.  
  10. call :getHHLToken %modIPAdr%
  11. echo tryb 4G-3G
  12. curl -X POST -d "<?xml version="1.0" encoding="UTF-8"?><request><NetworkMode>0302</NetworkMode><NetworkBand>3FFFFFFF</NetworkBand><LTEBand>7FFFFFFFFFFFFFFF</LTEBand></request>" http://%modIPAdr%/api/net/net-mode %_SID% %_Token% -H "Content-Type: text/xml"  >nul
  13. if "%~1"=="" echo.OK
  14.  
  15. call :getHHLToken %modIPAdr%
  16. echo register
  17. curl -X POST -d "<?xml version="1.0" encoding="UTF-8"?><request><Mode>0</Mode><Plmn></Plmn><Rat></Rat></request>" http://%modIPAdr%/api/net/register %_SID% %_Token% -H "Content-Type: text/xml"  >nul
  18. if "%~1"=="" echo.OK
  19.  
  20. call :getHHLToken %modIPAdr%
  21. echo *****Stan konta*****
  22. curl -X POST -d "<request><content>*101#</content><codeType></codeType><timeout>5</timeout></request>" http://%modIPAdr%/api/ussd/send %_SID% %_Token% -H "Content-Type: text/xml"  >nul
  23. if "%~1"=="" echo.OK
  24. call :usdchecker
  25. curl -X GET http://%modIPAdr%/api/ussd/get %_SID% %_Token%
  26. if "%~1"=="" echo.OK
  27.  
  28.  
  29. call :getHHLToken %modIPAdr%
  30. echo *****Stan pakietu danych*****
  31. curl -X POST -d "<request><content>*107#</content><codeType></codeType><timeout>5</timeout></request>" http://%modIPAdr%/api/ussd/send %_SID% %_Token% -H "Content-Type: text/xml"  >nul
  32. if "%~1"=="" echo.OK
  33. call :usdchecker
  34. curl -X GET http://%modIPAdr%/api/ussd/get %_SID% %_Token%
  35. if "%~1"=="" echo.OK
  36.  
  37. call :getHHLToken %modIPAdr%
  38. echo *****Stan danych LTE*****
  39. curl -X POST -d "<request><content>*111*480*3#</content><codeType></codeType><timeout>5</timeout></request>" http://%modIPAdr%/api/ussd/send %_SID% %_Token% -H "Content-Type: text/xml"  >nul
  40. if "%~1"=="" echo.OK
  41. call :usdchecker
  42. curl -X GET http://%modIPAdr%/api/ussd/get %_SID% %_Token%
  43. if "%~1"=="" echo.OK
  44.  
  45. call :getHHLToken %modIPAdr%
  46. echo *****Aktywacja danych LTE*****
  47. curl -X POST -d "<request><content>*111*480*1#</content><codeType></codeType><timeout>5</timeout></request>" http://%modIPAdr%/api/ussd/send %_SID% %_Token% -H "Content-Type: text/xml"
  48. if "%~1"=="" echo.OK
  49. call :usdchecker
  50. curl -X GET http://%modIPAdr%/api/ussd/get %_SID% %_Token%
  51. if "%~1"=="" echo.OK
  52.  
  53. call :getHHLToken %modIPAdr%
  54. echo *****Restart MODEMU*****
  55. curl -X POST -d "<?xml version="1.0" encoding="UTF-8"?><request><Control>1</Control></request>" http://%modIPAdr%/api/device/control %_SID% %_Token% -H "Content-Type: text/xml"  >nul
  56. if "%~1"=="" echo.OK
  57. echo Poczekaj 5 sekund, wylacz i wlacz zasilanie calego routera
  58. ping -n 5 127.0.0.1 >nul
  59. echo Poczekaj az komputer polaczy sie z WiFi i wcisnij dowolny klawisz
  60. ping -n 20 127.0.0.1 >nul
  61.  
  62. :pinger
  63. ping -n 1 %modIPAdr% | find "TTL=" >nul
  64. if errorlevel 1 (
  65.     goto pinger
  66. ) else (
  67.     goto czterygie
  68. )
  69.  
  70. :czterygie
  71. call :getHHLToken %modIPAdr%
  72. echo 4G
  73. curl -X POST -d "<?xml version="1.0" encoding="UTF-8"?><request><NetworkMode>03</NetworkMode><NetworkBand>3FFFFFFF</NetworkBand><LTEBand>7FFFFFFFFFFFFFFF</LTEBand></request>" http://%modIPAdr%/api/net/net-mode %_SID% %_Token% -H "Content-Type: text/xml"  >nul
  74. if "%~1"=="" echo.OK
  75.  
  76. call :getHHLToken %modIPAdr%
  77. echo register
  78. curl -X POST -d "<?xml version="1.0" encoding="UTF-8"?><request><Mode>0</Mode><Plmn></Plmn><Rat></Rat></request>" http://%modIPAdr%/api/net/register %_SID% %_Token% -H "Content-Type: text/xml"  >nul
  79. if "%~1"=="" echo.OK
  80.  
  81. call :getHHLToken %modIPAdr%
  82. echo Wlaczenie transmisji
  83. curl -X POST -d "<?xml version="1.0" encoding="UTF-8"?><request><dataswitch>1</dataswitch></request>" http://%modIPAdr%/api/dialup/mobile-dataswitch %_SID% %_Token% -H "Content-Type: text/xml"  >nul
  84. if "%~1"=="" echo.OK
  85. pause
  86.  
  87.  
  88. endlocal
  89. goto :eof
  90.  
  91. :usdchecker
  92. setlocal EnableDelayedExpansion EnableExtensions
  93. curl -X GET http://%modIPAdr%/api/ussd/status %_SID% %_Token% -s  | find "<result>0</result>" >nul
  94. if errorlevel 1 (
  95.     ping -n 1 127.0.0.1 >nul
  96.     goto usdchecker
  97. )
  98. endlocal
  99. goto :eof
  100.  
  101. :getHHLToken &::[adres IP]:zwraca zmienne %_Token% oraz %_SID% z Huawei HiLink do wykorzystania z curl lub wget, przyjmując opcjonalnie adres IP modemu
  102. setlocal
  103. rem przypisanie zmiennej HHL adresu modemu
  104. SET HHL=hi.link
  105. rem przyjmij pierwszy parametr jako adres IP modemu lecz pierw zweryfikuj
  106. 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
  107. rem inicjalizacja niepustych zmiennych
  108. set "_SID= "
  109. set "_Token= "
  110. rem wyczyść zmienną z adresem ze spacji
  111. set HHL=%HHL: =%
  112. set _c=curl -q -s -X GET --stderr nul --max-time 5
  113. rem pobranie tokena oraz ID sesji i przypisanie wartości
  114. for /f "tokens=1-4 delims=<>" %%a in ('%_c% http://%HHL%/api/webserver/SesTokInfo ^|find /i "Info>"') do (
  115. rem if /i "%%~c"=="/SesInfo" - sprawdza czy zmienna nie przekroczyła linii
  116. if /i "%%~a"=="SesInfo" if /i "%%~c"=="/SesInfo" set _SID=--header "Cookie: %%b"
  117. if /i "%%~a"=="TokInfo" if /i "%%~c"=="/TokInfo" set _Token=--header "__RequestVerificationToken: %%b"
  118. rem jeżeli przed pierwszym znakiem < lub > coś występuje:
  119. if /i "%%~b"=="SesInfo" if /i "%%~d"=="/SesInfo" set _SID=--header "Cookie: %%c"
  120. if /i "%%~b"=="TokInfo" if /i "%%~d"=="/TokInfo" set _Token=--header "__RequestVerificationToken: %%c"
  121. )
  122.  
  123. rem jeśli nowy token nie istnieje uzyskaj stary:
  124. if "%_Token:~0,2%"==" " for /f "tokens=1-3 delims=<>" %%a in ('%_c% http://%HHL%/api/webserver/token ^|find /i "token"') do (
  125. if /i "%%~a"=="token" set _Token=--header "__RequestVerificationToken: %%b"
  126. if /i "%%~b"=="token" set _Token=--header "__RequestVerificationToken: %%c"
  127. )
  128.  
  129. set _exit=0
  130. if "%_SID:~0,2%"==" " set /a "_exit+=2"
  131. if "%_Token:~0,2%"==" " set /a "_exit+=1"
  132. endlocal &(set "_SID=%_SID%" )&(set "_Token=%_Token%" )& exit /b %_exit%
  133. goto :eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement