Bonjour,
Je souhaite utiliser une API développé par un développeur Github babca qui ne me répond pas sur ma demande faite en Septembre 2021, je tente ma chance ici du coup.
Cette API permet de récupérer des informations sur le routeur 4G.
Voici l'origine du code source du script : https://github.com/babca/huawei-api
dpkg.txt : Ci-joint le résultat de la commande "dpkg -l" sur une nouvelle machine installée aujourd'hui (Debian minimal mise à jour du 15/01/2022).
Selon la documentation du développeur, j'ai installé Apache, PHP les librairies qui vont bien (composer, curl, etc...), je met le mot de passe (masqué ci-dessous) de mon routeur en variable dans le script status_example.php....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php /** Most simple example */ require_once 'vendor/autoload.php'; $router = new HuaweiApi\Router; const IP = "192.168.1.1"; const USERNAME = "user"; // probably always 'user' const PASSWORD = "[...]"; //$router->enableDebug(); $router->setAddress(IP); $router->login(USERNAME, PASSWORD); $router->getLteBand();
Voici le résultat que j'obtiens (ayant tronqué par la balise [...] pour que ce soit plus lisible) :
J'ai vérifié lors d'une connexion sur l'interface Web du routeur en https://192.168.1.1 les données transmisses par requête POST sont biens les mêmes variables que celles envoyées par le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 We got a PUB key and OTP for login: {"pubkey":"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8[...]\ntwIDAQAB\n-----END PUBLIC KEY-----\n","otp":"d40f52c4"} We got a CSRF token for login: gj9iSIJF9V193Bj7TdTPWfBSdSokO7J9Hwr4ghHYgNLbHGD0GgnTyOda5IpxRgZw PREPARING POST REQUEST: Array ( [action] => login [page] => login.asp [csrftoken] => gj9iSIJF9V193Bj7TdTPWfBSdSokO7J9Hwr4ghHYgNLbHGD0GgnTyOda5IpxRgZw [user_lang] => en [user_name] => m9+UaBIG9ukqZseJI/lR8sW7Nr8[...]+CmbdVUGY/ebznRtGMI6liLOOWw9EglQ== [user_name_plaintext] => [user_passwd] => m55X+B2tObqrdpoi3ZhNKtq9z7F[...]6S/b5tZs5HvW1XSzCwWEl/7BheOTBQ== [user_passwd_plaintext] => ) ERROR in getModemStatus(): Probably because of an invalid or expired session token, router returned garbage HTML instead of JSON. Grab a new session token first.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 user_name_plaintext= &user_passwd_plaintext= &user_lang=en &user_name=g9nbC/aqXG+x[...]rkWfQl+9wkh6D21dgNx5TQ== &user_passwd=ONCo2cq4nfp9V3W177zj/tupBVI[...]pKObGhac6f/h84q8G3zmkHxsWM6XTJ53NX0Fw== &page=login.asp &action=login &csrftoken=fqBN55yc8DrYktROsDWWrivdMwpUniGQgtBM8dq9HR8CpWlJ1FiPC9d9mfCIS5Fe
Merci de votre lecture et de votre aide, je bloque à ce niveau depuis 6 mois...
Partager