1 pièce(s) jointe(s)
API PHP pour routeur Huawei B2338-168
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. :P
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
Pièce jointe 611862 : 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:
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) :
Code:
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. |
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:
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... :aie: