Posso anche aver sbagliato io nell'analizzare il codice PHP, ci ho messo 5 minuti. Non o tempo per fare un reverse engineering più approfondito del loro SDK in questo periodo.
Non so quali linguaggi tu conosca, visual basic e c# richiedono l'installazione dei rispettivi ambienti di sviluppo (e loro conoscenza) per poterli testare. PHP è molto più semplice: puoi usare il webserver del nas o qualche prodotto tipo
XAMPP per fare i test.
Nel SDK PHP trovi la cartella test con lo script che richiama la funzione d'invio che ti fa vedere come compilare i dati della loro classe (ad esempio per i numeri destinatario usano +39328......).
Se installi l'SDK-PHP sul nas puoi semplicemente modificare il loro script di test affinché prelevi i dati dai parametri URL per passarli avanti. A questo punto nella SS indicherai l'URL del tuo nas, con i parametri come meglio credi ed il PHP li inoltrerà successivamente ad aruba via SDK.
Altrimenti sia che tu usi il webserver del NAS che XAMP (o similari sul PC) non cambia:
1) configuri un sito sul nas inserendovi dentro l'SDK-PHP di aruba compreso gli script di test.
2) installi fiddler sul PC (stessa lan del nas)
3) nelle impostazioni di rete del NAS imposti il tuo PC come server proxy alla porta configurata in fiddler
3) spedisci un SMS usando lo script di test che lo invierà via SDK-PHP
5) in Fiddler potrai vedere tutte le transizioni con il loro contenuto scambiate fra il sito del nas (quello che invia l'SMS) e quello di aruba. L'url che vedrai sarà così "sniffata" e non costruita.
Oppure verifica nel codice PHP (come ho fatto io). Il file è "sendsms.php" e le sue dipendenze:
Codice: Seleziona tutto
require_once('util.php');
require_once('config.php');
require_once('smstype.php');
require_once('http_post.php');
config.php contiene unicamente la configurazione inclusi credenziali utente
Mentre l'invio lo fai con "test_sendsms.php":
Codice: Seleziona tutto
<?php
require('../sendsms.php');
$sms = new Sdk_SMS();
$sms->sms_type = SMSTYPE_STANDARD;
$sms->add_recipient('+393479057982');
$sms->add_recipient('+393479876543');
$sms->message = 'hello world!';;
$sms->sender = 'test';
$sms->set_immediate(); // or sms->set_scheduled_delivery($unix_timestamp)
$sms->order_id = '999FFF111';
echo 'About to send a message '.$sms->count_smss().' SMSs long ';
echo 'to '.$sms->count_recipients().' recipients </br>';
if ($sms->validate()) {
$res = $sms->send();
if ($res['ok']) {
echo $res['sentsmss'].' SMS sent, order id is '.$res['order_id'].' </br>';
} else {
echo 'Error sending SMS: '.$sms->problem().' </br>';
}
} else {
echo 'invalid SMS: '.$sms->problem().' </br>';
}
?>