Aller au contenu
mprinfo

demande Aide Envoi d'un SMS via CURL avec un routeur HUAWEI 4G (suite

Recommended Posts

ce topic fais suite a celui ci qui est fermer :

 

 

Mon objectif est de pouvoir envoyer des sms via mon routeur 4g pour le moment avec Curl

 

voici un lien de l'api de mon routeur

https://blog.hqcodeshop.fi/archives/259-Huawei-E5186-AJAX-API.html

 

Je viens de trouver ce site très intéressant
https://www.mrt-prodz.com/blog/view/2015/05/huawei-modem-api-and-data-plan-monitor

 

Mise a jour du firmware :

https://mega.nz/folder/fUYB3LiQ#lS35ocsbiJy4aT7aXd-U-Q/folder/KEhXDKqA

 

Volia ou j'en suis avec le CURL j'arrive a faire du get temps qu'il ne faut pas une authentification

 

Je sais que le password et de type 4 en base64 aprés je bloc

 

voila ce qui fonctionne :

----------------------------------------------------------------------------------------------------------------------
-- Pour faire des GET
----------------------------------------------------------------------------------------------------------------------
RESPONSE=`curl -s -X GET http://$modem_ip/api/webserver/SesTokInfo`
COOKIE=`echo "$RESPONSE"| grep SessionID=| cut -b 10-147`
TOKEN=`echo "$RESPONSE"| grep TokInfo| cut -b 10-41`
echo $RESPONSE
echo $COOKIE
echo $TOKEN
---------------------------------------------------------------------
-- Liste des GET qui fonctionnent
-- https://blog.hqcodeshop.fi/archives/259-Huawei-E5186-AJAX-API.html
---------------------------------------------------------------------
curl -s -b $COOKIE "http://$modem_ip/api/device/signal"

curl -s -b $COOKIE "http://$modem_ip/config/global/config.xml"
curl -s -b $COOKIE "http://$modem_ip/config/global/net-type.xml"
curl -s -b $COOKIE "http://$modem_ip/config/pcassistant/config.xml"
curl -s -b $COOKIE "http://$modem_ip/config/deviceinformation/config.xml"
curl -s -b $COOKIE "http://$modem_ip/api/cradle/status-info"
curl -s -b $COOKIE "http://$modem_ip/api/device/autorun-version"
curl -s -b $COOKIE "http://$modem_ip/api/device/basic_information"
curl -s -b $COOKIE "http://$modem_ip/api/device/device-feature-switch"
curl -s -b $COOKIE "http://$modem_ip/api/device/information"                     - il faut une authentification
curl -s -b $COOKIE "http://$modem_ip/api/device/signal"
curl -s -b $COOKIE "http://$modem_ip/api/dialup/connection"
curl -s -b $COOKIE "http://$modem_ip/api/dialup/mobile-dataswitch"
curl -s -b $COOKIE "http://$modem_ip/api/global/module-switch"
curl -s -b $COOKIE "http://$modem_ip/api/language/current-language"
curl -s -b $COOKIE "http://$modem_ip/api/monitoring/check-notifications"
curl -s -b $COOKIE "http://$modem_ip/api/monitoring/converged-status"
curl -s -b $COOKIE "http://$modem_ip/api/monitoring/status"
curl -s -b $COOKIE "http://$modem_ip/api/monitoring/traffic-statistics"
curl -s -b $COOKIE "http://$modem_ip/api/net/current-plmn"
curl -s -b $COOKIE "http://$modem_ip/api/online-update/upgrade-messagebox"
curl -s -b $COOKIE "http://$modem_ip/api/pin/status"
curl -s -b $COOKIE "http://$modem_ip/api/redirection/homepage"
curl -s -b $COOKIE "http://$modem_ip/api/security/upnp"                         - il faut une authentification
curl -s -b $COOKIE "http://$modem_ip/api/sms/sms-list"
curl -s -b $COOKIE "http://$modem_ip/api/user/login"
curl -s -b $COOKIE "http://$modem_ip/api/user/remind"
curl -s -b $COOKIE "http://$modem_ip/api/user/session"
curl -s -b $COOKIE "http://$modem_ip/api/user/state-login"
curl -s -b $COOKIE "http://$modem_ip/api/wlan/basic-settings"
curl -s -b $COOKIE "http://$modem_ip/api/wlan/multi-switch-settings"
curl -s -b $COOKIE "http://$modem_ip/api/wlan/wifi-feature-switch"
curl -s -b $COOKIE "http://$modem_ip/api/net/net-mode"

Pour l'envoi de sms j'ai trouver cela mais ca fonctionne pas

RESPONSE=`curl -s -X GET http://192.168.8.1/api/webserver/SesTokInfo`
COOKIE=`echo "$RESPONSE"| grep SessionID=| cut -b 10-147`
TOKEN=`echo "$RESPONSE"| grep TokInfo| cut -b 10-41`
NUMBER=$1
SMS=$2
DATA="<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones><Phone>$NUMBER</Phone></Phones><Sca></Sca><Content>$SMS</Content><Length>11</Length><Reserved>1</Reserved><Date>-1</Date></request>"

curl -v http://192.168.8.1/api/sms/send-sms \
 -H "Cookie: $COOKIE" -H "__RequestVerificationToken: $TOKEN" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
 --data $DATA

 

Par contre j'ai trouvé cela pour windows est cela fonctionne très bien

Site de référence

Telechargement

Partager ce message


Lien à poster
Partager sur d’autres sites

voila un script qui pourrait être interessant pour le moment ca fonctionne pas

#!/bin/sh
# Written by oga83

# Check command line parameters
if [ "$#" -ne 5 ]; then
    printf "Syntax: %s <IP> <Username> <Password> <PhoneNumber> <Message>\n" $0
    exit 0
fi

ROUTER_IP=$1
ROUTER_USERNAME=$2
ROUTER_PASSWORD=$3
SMS_NUMBER=$4
SMS_TEXT=$5
TMP_HEADER_FILE=/tmp/headers.tmp

CURL_OPT=--silent

ProcessRouterResponseHeader()
{
	# Get token from header
	NEWTOKEN=`cat $TMP_HEADER_FILE | grep "__RequestVerificationTokenone: " | awk -F' ' '{print $2}'`
	if [ ! -z "$NEWTOKEN" ]; then TOKEN=$NEWTOKEN; fi
	NEWTOKEN=`cat $TMP_HEADER_FILE | grep "__RequestVerificationToken: " | awk -F' ' '{print $2}'`
	if [ ! -z "$NEWTOKEN" ]; then TOKEN=$NEWTOKEN; fi
	NEWSESSIONID=`cat $TMP_HEADER_FILE | grep "Set-Cookie: SessionID=" | awk -F' ' '{print $2}' | cut -b 1-138`
	if [ ! -z "$NEWSESSIONID" ]; then SESSIONID=$NEWSESSIONID; fi
echo $NEWTOKEN
}

GetRouterData() # Param1: Relative URL
{
	#echo "GET on http://$ROUTER_IP$1"
	RESPONSE=`curl $CURL_OPT --request GET http://$ROUTER_IP$1 \
       		--dump-header $TMP_HEADER_FILE \
        	-H "Cookie: $SESSIONID" -H "__RequestVerificationToken: $TOKEN" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
       		`
	ProcessRouterResponseHeader
}

GetSessionToken() # No parameters
{
	# Get SessionID and RequestVerificationToken
	GetRouterData '/api/webserver/SesTokInfo'
        SESSIONID="SessionID="`echo "$RESPONSE"| grep -oPm1 "(?<=<SesInfo>)[^<]+"`
        TOKEN=`echo "$RESPONSE"| grep -oPm1 "(?<=<TokInfo>)[^<]+"`
}

PostRouterData() # Param1: RelativeUrl, Param2: Data, Param3:bAskNewToken
{
	# Get new token if necessary
	if [ ! -z $3 ]; then
		GetSessionToken
	fi

	#echo "POST on http://$ROUTER_IP$1 :" $2
	RESPONSE=`curl $CURL_OPT --request POST http://$ROUTER_IP$1 \
	       --dump-header $TMP_HEADER_FILE \
	       -H "Cookie: $SESSIONID" -H "__RequestVerificationToken: $TOKEN" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
	       --data "$2"`
	ProcessRouterResponseHeader
}

# Get initial SessionID and RequestVerificationToken
GetSessionToken

# Login
CREDENTIALS=`printf $ROUTER_PASSWORD | sha256sum | head -c64 | base64 -w0`
CREDENTIALS=`printf "%s%s%s" $ROUTER_USERNAME $CREDENTIALS $TOKEN | sha256sum | head -c64 | base64 -w0`
DATA=`printf "<request><Username>%s</Username><Password>%s</Password><password_type>4</password_type></request>" $ROUTER_USERNAME $CREDENTIALS`
PostRouterData "/api/user/login" "$DATA"

# Send SMS
DATA="<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones><Phone>$SMS_NUMBER</Phone></Phones><Sca></Sca><Content>$SMS_TEXT</Content><Length>${#SMS_TEXT}</Length><Reserved>1</Reserved><Date>`date +'%F %T'`</Date></request>"
PostRouterData "/api/sms/send-sms" "$DATA" 1

# Logout
PostRouterData "/api/user/logout" "<request><Logout>1</Logout></request>"

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Pascal, j'ai testé le moniteur, mais cela ne passe pas, login impossible. Par contre il arrive à récupérer le statut tout de même. Cela passe chez toi ? Ou tu as utilisé le firmware ?

Partager ce message


Lien à poster
Partager sur d’autres sites

@nico tu parles de quel programme de monitoring ?
Car j'en ai donné plusieurs ?
Tu as quel version de routeur 4g ?

Chez moi tout fonctionne sur mon e5186
Même le monitoring sur Android

Envoyé de mon BLA-L29 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Celui du poste ci dessus, Huawei Monitor v2.92.

En route je suis sur le B2***** je ne sais plus combien.

Partager ce message


Lien à poster
Partager sur d’autres sites

×