Ja też miałem problem z wysyłaniem smsów przez ten modem, z twoim skryptem @desperat miałem taki problem, że źle były wycinane tokeny. Najpierw info o wersji modemu:
E3372h-320 (hilink)
Bieżąca wersja 10.0.3.1(H192SP2C983)
Wersja interfejsu internetowego WEBUI 10.0.3.1(W13SP2C7201)
Tak, jak wspominałem, u mnie był problem z wyciąganiem tokenu przez skrypt. Nie wiem czy mam wersję softwaru za starą, czy za młodą (moje wartości wyglądają jakby miały inną numerację), ale mam inny response przy SesTokInfo:
GET http://192.168.8.1/api/webserver/SesTokInfo
Reponse:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<SesInfo>
E1nGw6cmVvY10w8NJWn0It2Kx6M9FEwOh6nOPF6MZp0U7rMIeoL6H0NCYqH0PnD864nMsD20Rd34j6IWmIKfjm1MfLdMSTpad86faYoClQAXhZbV0Sq39kvDX090yZKC
</SesInfo>
<TokInfo>SRjEWvhnONhc7HjM41x6Y09sbrlbYz7o</TokInfo>
</response>
Dokładnie rzecz biorąc, nie występuje u mnie ciąg SessionID, zamiast tego jest tag <SesInfo>
Stąd, wrzucam modyfikację tego skryptu, która wycina znaki na odpowiednich pozycjach bez grepa:
#!/bin/sh
# usage: sh send.sh "192.168.8.1" "+48xxxyyyzzz" "test kolejny :) ąśćź"
if [ $# -lt 2 ]
then
echo "Podałeś za mało paramerów ustawiam domyslne\n"
host="192.168.8.1"
number="+48533090410"
content="testowy sms do $number"
echo -e "Host: $host\nNumer: $number\nTreść: $content"
else
host="$1"
number="$2"
content="$3"
echo -e "Podałeś Host: $host\nNumer: $number\nTreść: $content"
fi
length=${#content}
echo $length
cc=`curl -s -X GET http://$host/api/webserver/SesTokInfo`
echo $cc
c=`echo "$cc"| cut -b 58-185`
t=`echo "$cc"| cut -b 205-236`
date=$(date +"%Y-%m-%d %H:%M:%S")
echo $date
curl -v http://$host/api/sms/send-sms \
-H "Cookie: SessionID=$c" -H "__RequestVerificationToken: $t" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
--data "<?xml version="1.0" encoding="UTF-8"?><request><Index>-1</Index><Phones><Phone>$number</Phone></Phones><Sca></Sca><Content>$content</Content><Length>$length</Length><Reserved>1</Reserved><Date>$date</Date></request>"
Dziękuję za pomocny wątek i życzę powodzenia z hakowaniem modemów