GoJack - SMS gratis

Sviluppo software e assistenza => GoJack php => Topic aperto da: lifedj - Maggio 31, 2012, 09:14:49 pm

Titolo: Aiuto con creazione mio servizio
Inserito da: lifedj - Maggio 31, 2012, 09:14:49 pm
Immagino che da qualche parte ci sia scritto come usare gojack x una propria pagina php, ma non sto riuscendo a trovare niente a riguardo!
Immaginiamo che io abbia una mia pagina php che vuole, usando curl, richiamare il tuo script gotext per inviare sms tramite, ad esempio, vodafone sms!
a) quale pagina devo richiamare
b) come gli passo nome utente e password
c) In che formato ottengo il captcha?

Ti ringrazio in anticipo x le info
Lifedj
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: Daniele8787 - Maggio 31, 2012, 11:19:59 pm
Ciao. GoJack sebbene più complesso dei semplici script per gotext, riceve le variabili con le stesse sintassi, infatti è utilizzabile da gotext java.
Se vuoi utilizzarlo da browser, potresti usare gojack web/wap. Se invece vuoi usarlo da una pagina tua personale, allora dovresti richiamare gojack in questo modo

http://tuoindirizzo.dominio.com/gojack.php?servizio=vodafone-sms&user=tua_username&pass=tua_password&nick=tuo_numero_di_telefono&rcpt=destinatario
&text=messaggio_da_inviare

e tutte queste variabili le puoi inviare sia tramite get sia post.

Il captcha lo ricevi in formato png col nuovo sistema di compressione, mentre in jpeg se cambi l'impostazione di default per impostare il vecchio captcha.

Poi per inviargli il codice che leggi nel captcha, lo puoi inviare cosi

http://tuoindirizzo.dominio.com/gojack.php?servizio=vodafone-sms&ic=codice_ottico

Le altre variabili non c'è bisogno di reinviarle perchè restano memorizzate.
In effetti di queste informazioni non ne avevano mai parlato perchè nessuno me le ha mai chieste.. perchè tutti possono inviare sms da qualsiasi telefono con la java di gotext, con la android di gojack, oppure al limite con la wap, oppure anche da pc con la web con qualsiasi browser. :)
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: lifedj - Giugno 03, 2012, 02:42:07 pm
Sto provando a richiamare gojack in questo modo:

Codice: [Seleziona]

$message="ciaociao";
$address="http://miosito/gojack.php";
$addarray=parse_url($address);

$fp = hostconnect($addarray['host'], 30, "Errore, sito non disponibile");

$poststring="";
$poststring .= "servizio=Vodafone-Widget&";
$poststring .= "user=".$username."&";
$poststring .= "pass=".$password."&";
$poststring .= "rcpt=".$intnum."&";
        $poststring .= "text=".urlencode($message);
fputs($fp, "POST ".$addarray['path']."?".$addarray['query']." HTTP/1.1\r\n");
fputs($fp, "Host: ".$addarray['host']."\r\n");

fputs($fp, "User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0\r\n");
fputs($fp, "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
fputs($fp, "Accept-Language:it-it,it;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
//fputs($fp, "Accept-Encoding:gzip, deflate\r\n");
fputs($fp, "Connection:keep-alive\r\n");
fputs($fp, "Content-Length: ".strlen($poststring)."\r\n\r\n");
fputs($fp, $poststring. "\r\n\r\n");

E la risposta è:

Codice: [Seleziona]
HTTP/1.1 200 OK Date: Sun, 03 Jun 2012 12:39:43 GMT Server: Apache/2.2 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: PHPSESSID=abb89ac5dd8ad2ba337c490077c7a449; expires=Sun, 03-Jun-2012 15:39:43 GMT; path=/ Content-Length: 70 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html 1Mancano dati fondamentali: messaggio
Come mai? Sei sicuro che io possa passare le variabili sia in post che in get???
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: lifedj - Giugno 03, 2012, 03:10:35 pm
In ogni caso:
le ho passate con GET (anche se non è consigliabile: se il testo è un pò più lungo potrebbe darti risposta negativa), ma quando provo a richiamare la pagina con ic mi dice questo:

Codice: [Seleziona]
HTTP/1.1 200 OK Date: Sun, 03 Jun 2012 13:08:29 GMT Server: Apache/2.2 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: PHPSESSID=78802eabad4aaabff127255d8a470c67; expires=Sun, 03-Jun-2012 16:08:30 GMT; path=/ Content-Length: 90 Connection: close Content-Type: text/html 3Il sito non ha risposto nelle modalità previste nell xmlHai inserito un numero sbagliato?
Questo è il codice PHP che uso x richiamare lo script con ic:

Codice: [Seleziona]
$address="http://miosito/gojack.php?servizio=Vodafone-Widget&ic=".$ic;
$addarray=parse_url($address);



$fp = hostconnect($addarray['host'], 30, "Errore nel sito");

fputs($fp, "GET ".$addarray['path']."?".$addarray['query']." HTTP/1.1\r\n");
fputs($fp, "Host: ".$addarray['host']."\r\n");

fputs($fp, "User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0\r\n");
fputs($fp, "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
fputs($fp, "Accept-Language:it-it,it;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
fputs($fp, "Connection:close\r\n\r\n");

C'è qualche variabile da passare come cookie?
O altro?
Se la richiamo con un browser funziona, invece se la richiamo da PHP no!!!
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: Daniele8787 - Giugno 03, 2012, 05:32:59 pm
L'errore "hai inserito un numero sbagliato?" non ricordo di averlo inserito.. l'ho cercato ovunque ma non lo trovo. Mah. Che versione hai usato? Comunque perchè non usi curl? o meglio ancora potresti usare la libreria browser di gotext e con una sola riga fai la connessione. In ogni caso è logico che io ti ho detto come fare per richiamare lo script da browser..ma poi se vuoi farlo da php, devi essere tu a saper emulare perfettamente un browser. Ad esempio se al secondo invio con captcha (ic) non hai bisogno di reinviare il messaggio e le altre variabili è perchè queste sono salvate nella sessione e per questo occorre reinviargli il cookie phpsessid per dirgli "guarda sono l'utente di poco fa, ti sto inviando il captcha dell'invio precedente, quindi riporta in memoria tutte le variabili". Se non gli mandi quel cookie lui ti vede come un nuovo utente che sta facendo un nuovo invio. Comunque ho provato il tuo codice e mi compare una pagina bianca..evidentemente non lo hai inserito tutto. Potresti completarlo? anche la funzione hostconnect che hai usato, non l'hai postata..e siccome ricordavo di averla vista in un php di zydio sono andato a prenderla manualmente..ma ancora non basta...c'è qualcos'altro che manca. :) e comunque si le variabili si possono inserire sia tramite post che get..non c'è differenza.
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: antonino.spampinato - Giugno 03, 2012, 05:46:02 pm
Scusate, ma in pratica deve richiamare le variabili che sono nel server.php non del servevices.xml, giusto?
Poi la variabile $messagge è $text per il server php.
(però credo che mi sbaglio).

Puoi richiamare gli script con GET o POST, perché DANIELE8787 usa $_REQUEST nel software.
Il parametro GET, dipende dal web server in uso!!! Può avere un limite massimo di 256 caratteri US-ASCII. Oppure un limite per i valori delle variabili di 512 caratteri, come nel caso di Aruba.it.. o altro ecc..
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: lifedj - Giugno 03, 2012, 06:15:09 pm
Ok, vi ringrazio per l'aiuto! Al momento non sono al pc mio quindi ve lo posto appena torno a casa!
Cmq credo che passandogli PHPSESSID funzionerà!

Vi tengo aggiornati!!!
E grazie!

PS. Avete trovato modo di risolvere problema di IP giornaliero x Freesms.net? Ho 2 o 3 account su quel sito, ma mettendo xml su mio server ovviamente conta l'IP del server e non ne invia più di 8!
Esiste qualche script che si carica automaticamente degli indirizzi di proxy funzionanti e li usa???
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: lifedj - Giugno 03, 2012, 06:37:27 pm
Sono corso a casa ....  :)
Gli ho passato cookie e adesso mi restituisce questo:
Codice: [Seleziona]
HTTP/1.1 200 OK Date: Sun, 03 Jun 2012 16:29:53 GMT Server: Apache/2.2 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Length: 65 Connection: close Content-Type: text/html 0 Captcha 1062 b Dati tot 1200 bHai inserito un numero sbagliato?

Ma il bello è che i messaggi li invia!!!

Ecco codice completo  ;)

Codice: [Seleziona]
$username=$_REQUEST['user'];
$password=$_REQUEST['pass'];
$intnum=$_REQUEST['dest'];
$message=$_REQUEST['text'];
$ic=$_REQUEST['ic'];

function termina($stringa)
{
echo("$stringa");
$size=ob_get_length();
header("Content-Length: $size");
ob_end_flush();
die();
}

function hostconnect($host, $timeout, $errmsg)
{
    $try = 0;
    do {
        $fp = fsockopen($host,80, $errmsg, $errmsg, $timeout);
        $try++;
    } while (!$fp && $try < 2); // Try 2 times to avoid aborting on first
                                //  connection error

    if(!$fp){
        $risposta = $errmsg;
        termina($risposta);
        return FALSE;
    }
    return $fp;
}

if ($ic=="")
{
$address="http://miosito/gojack.php";
$addarray=parse_url($address);

$fp = hostconnect($addarray['host'], 30, "Errore, sito non disponibile");

$poststring="";
$poststring .= "servizio=Vodafone-Widget&";
$poststring .= "user=".$username."&";
$poststring .= "pass=".$password."&";
$poststring .= "rcpt=".$intnum."&";
        $poststring .= "text=".urlencode($message);


fputs($fp, "POST ".$addarray['path']."?".$addarray['query']." HTTP/1.1\r\n");
fputs($fp, "Host: ".$addarray['host']."\r\n");

fputs($fp, "User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0\r\n");
fputs($fp, "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
fputs($fp, "Accept-Language:it-it,it;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
//fputs($fp, "Accept-Encoding:gzip, deflate\r\n");
fputs($fp, "Connection:close\r\n");
fputs($fp, "Content-Length: ".strlen($poststring)."\r\n\r\n");
fputs($fp, $poststring. "\r\n\r\n");


$temp="";
$header="";
$cookie='';

do
{
$header.=fgets($fp, 1024);

if(feof($fp))
break;

}
while (!preg_match("/\\r\\n\\r\\n$/",$header));
if($tmp=stristr($header,"Set-Cookie: PHPSESSID=")) $cookie=substr($tmp, 12, strpos($tmp,";")-11);
$tmp_response = fread ($fp, 2048);


while (!feof($fp))
{
$tmp_response .= fread ($fp, 4096);
}

@fclose ($fp);
$_SESSION['temp_cookie']=$cookie;

$origine1 = imagecreatefromstring($tmp_response);
$size_x = 126;
$size_y = 21;

$width=126;
$height=21;
$destinazione1 = imagecreatetruecolor($width, $height);
imagecopyresized($destinazione1, $origine1, 0, 0, 0, 0, $width, $height, $size_x, $size_y);
imagetruecolortopalette($destinazione1, false, 1024);
   
imagepng($destinazione1,"../../public/immagine_cod.png");

$page_dim=ob_get_length();

echo "<img src=\"../../public/immagine_cod.png\"/>";


imagedestroy($origine);
imagedestroy($destinazione);

ob_end_flush();
}
else
{

$cookie=$_SESSION['temp_cookie'];
$address="http://miosito/gojack.php?servizio=Vodafone-Widget&ic=".$ic;
$addarray=parse_url($address);


$fp = hostconnect($addarray['host'], 30, "Errore nel sito");

fputs($fp, "GET ".$addarray['path']."?".$addarray['query']." HTTP/1.1\r\n");
fputs($fp, "Host: ".$addarray['host']."\r\n");
    fputs($fp, "Cookie: ".$cookie."\r\n");

fputs($fp, "User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0\r\n");
fputs($fp, "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
fputs($fp, "Accept-Language:it-it,it;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
//fputs($fp, "Accept-Encoding:gzip, deflate\r\n");
fputs($fp, "Connection:close\r\n\r\n");
//fputs($fp, "Content-Length: ".strlen($poststring)."\r\n\r\n");
//fputs($fp, $poststring. "\r\n\r\n");

$temp="";
$header="";

$i=0;
do
{
        $temp=fgets($fp, 1024);
        $header.=$temp;
$i++;
       
        if(feof($fp))
        break;
}
while (!feof($fp));
echo $header;

}
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: Daniele8787 - Giugno 03, 2012, 09:00:17 pm
A me questo codice non funziona proprio. Mi escono una marea di errori. Comunque che versione di gojack usi?

ma quell'errore "Hai inserito un numero sbagliato?" mi sta tormentando. L'ho cercato in tutte le versioni vecchie di gojack, nel caso tu stessi usando una versione vecchia, ho cercato persino nella web, e in tutti i file..e non c'è in nessuno. Non capisco da dove sta uscendo.. dove è impostato quell'errore. :-\
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: lifedj - Giugno 03, 2012, 09:57:16 pm
Uso gojack2.8
Dovresti provare a vedere se per sbaglio al termine dell'invio corretto stampi qualche variabile che in realtà non devi stampare!
Penso che "0 Captcha 1062 b Dati tot 1200 b" voglia dire che è stato inviato! E poi magari non ti sei accorto di aver dimenticato qualche parentesi graffa!
Magari hai messo qualche if così:
if ......
    echo "0 Captcha 1062 b Dati tot 1200 b";
    echo $errore;

invece di
if ......
{
    echo "0 Captcha 1062 b Dati tot 1200 b";
    echo $errore;
}

Comunque ti posso dire che hai fatto un gran bel lavoro! Il tuo gojack può essere pensato come il sostituto delle api di jacksms! E forse anche meglio!!! ;-)

PS. Forse motivo x cui non ti funziona è ke ho dimenticato di copiare questo all'inizio
Codice: [Seleziona]
ini_set('session.gc_maxlifetime', 14400);   // 4 ore

session_start();
if (ob_get_level() == 0) {
   ob_start();
}

@ini_set('error_reporting',1);
$time=time();

@ignore_user_abort(TRUE);

E poi considera che prova a scrivere nella cartella ../../public/

Magari tu non sei in nessuna cartella e con ../../ si dà errore!
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: Daniele8787 - Giugno 03, 2012, 10:04:30 pm
Ti ringrazio. Il punto è che quell'errore dovrebbe essere presente nel php, e invece cercando la parola "sbagliato" all'interno del sorgente, non esce assolutamente nulla. E questo non è possibile. Nel dubbio che fosse scritto in qualche xml ho cercato nell'intero services..ma neanche li compare. Boh...misteri dell'informatica.
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: lifedj - Giugno 03, 2012, 10:33:03 pm
Ti devo dare una brutta/bella notizia!!!
L'errore è mio!
Non scendevo mai fino a sotto nel codice!
Sotto a quello ke ti avevo postato c'era questo:
Codice: [Seleziona]
if($tmp=stristr($header,"Your Messages Has Been Send"))
{
$inviato="SMS inviato";
}
else
{
$inviato="Hai inserito un numero sbagliato?";
}

Lo so .... sono un co....ne .... :-)))
Scusa se ti ho fatto sbattere per un mio errore!
Invece il problema delle variabili post continua ad esserci! Se le passo tramite get funziona, altrimenti NO!
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: antonino.spampinato - Giugno 03, 2012, 10:52:57 pm
Cmq. le variabili di gojack.php credo che dovrebbero essere queste:<?php
$servizio=((string)$_REQUEST['servizio']);
$user=stripslashes((string)$_REQUEST['user']);
$pass=stripslashes((string)$_REQUEST['pass']);
$nick=stripslashes((string)$_REQUEST['nick']);
$rcpt=((int)$_REQUEST['rcpt']);
$text=stripslashes((string)$_REQUEST['text']);
$ic=$_REQUEST['ic'];
?> è lasciate da parte services.xml che in questo caso non c'entra.

Nota* $rcpt è il destinatario. (non intnum=dest)..gli altri neppure li commento.
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: Daniele8787 - Giugno 03, 2012, 10:54:07 pm
Ti devo dare una brutta/bella notizia!!!
L'errore è mio!
ahahahahhaah ;D stavo iniziando a pensare di essere impazzito. Comunque tranquillo, succede.

Comunque le variabili vengono prelevate in gojack, tramite comando request che accetta sia get che post..ed è fatto apposta. Per cui mi sembra strano...
Però qualsiasi cosa tu voglia fare, (a meno che l'unico obiettivo non sia imparare) penso che con la classe browser.php di gotext risolveresti tutti i problemi.. perchè emula perfettamente un browser e con una sola riga fai la connessione che ti serve, e preleva i cookie e li reinvia in automatico. Penso sia la migliore classe che attualmente esista. ;)
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: lifedj - Giugno 03, 2012, 11:52:50 pm
Sarebbe troppo bello! Sono su un server aruba con hosting windows che non fa andare php5 (purtroppo non è mio server e non posso chiedere di cambiare hosting!!!)!
Cmq si: x ora si tratta di prove!!! Poi con il tempo non so!!! ;-)))
Domani faccio di nuovo qualche prova con post e vi faccio sapere!!! ;-)))

Buona notte a tutti!
E grazie mille ancora! ;-)
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: lifedj - Giugno 05, 2012, 05:04:49 pm
Niente da fare: con post non va!
Questo volta ho controllato bene di aver scritto tutto per bene (caso mai avevo dimenticato ancora qualcos'altro! :-))) ) ma non va!
Anche se l'altra volta ho fatto una pessima figura .... oso chiederti: sei sicuro di aver messo dappertutto REQUEST?


Spero di non rifare un'altra figura ....  :-[
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: Daniele8787 - Giugno 05, 2012, 06:16:21 pm
Si si...request è l'unico modo con cui prelevo sempre le variabili... post e get non li ho mai usati in vita mia. :)
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: rccrcc - Giugno 06, 2012, 04:53:04 pm
Ciao. GoJack sebbene più complesso dei semplici script per gotext, riceve le variabili con le stesse sintassi, infatti è utilizzabile da gotext java.
Se vuoi utilizzarlo da browser, potresti usare gojack web/wap. Se invece vuoi usarlo da una pagina tua personale, allora dovresti richiamare gojack in questo modo

http://tuoindirizzo.dominio.com/gojack.php?servizio=vodafone-sms&user=tua_username&pass=tua_password&nick=tuo_numero_di_telefono&rcpt=destinatario
&text=messaggio_da_inviare

e tutte queste variabili le puoi inviare sia tramite get sia post.

Il captcha lo ricevi in formato png col nuovo sistema di compressione, mentre in jpeg se cambi l'impostazione di default per impostare il vecchio captcha.

Poi per inviargli il codice che leggi nel captcha, lo puoi inviare cosi

http://tuoindirizzo.dominio.com/gojack.php?servizio=vodafone-sms&ic=codice_ottico

Le altre variabili non c'è bisogno di reinviarle perchè restano memorizzate.
In effetti di queste informazioni non ne avevano mai parlato perchè nessuno me le ha mai chieste.. perchè tutti possono inviare sms da qualsiasi telefono con la java di gotext, con la android di gojack, oppure al limite con la wap, oppure anche da pc con la web con qualsiasi browser. :)

Ciao. Sto facendo un nuovo service in cui vi sono altre variabili come l'impostazione dell'orario di invio. E' possibile usare il link qui sopra aggiungendo le nuove variabili del service?
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: Daniele8787 - Giugno 06, 2012, 11:28:09 pm
Bè aggiungere nuove variabili nel link che si connette a gojack non avrebbe senso perchè gojack non riceverebbe queste nuove variabili perchè non sono previste nel suo codice. Però ovviamente nessuno ti vieta di usare gojack insieme ad altri php e usarlo per qualsiasi tua necessità.

Non so però come puoi impostare l'orario di invio per far eseguire un php  ad una certa ora per inviare l'sms. Se deve essere gojack a farlo, il php deve rimanere sempre in esecuzione, ma questo non è possibile su molti web server per via del max execution time... a meno che non usi il tuo pc. Quindi non resta che utilizzare dei cron job per richiamare il php all'ora voluta, ma questi cron si impostano da sito e non da php. Oppure bisognerebbe fare un php che acceda al sito del cron job e modifichi le impostazioni.
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: littleqwerty - Giugno 12, 2012, 11:11:49 am
PS. Avete trovato modo di risolvere problema di IP giornaliero x Freesms.net? Ho 2 o 3 account su quel sito, ma mettendo xml su mio server ovviamente conta l'IP del server e non ne invia più di 8!
Esiste qualche script che si carica automaticamente degli indirizzi di proxy funzionanti e li usa???

L'unica soluzione è installare un webserver in locale. Io sul mio pc ho messo usbwebserver (http://www.usbwebserver.com). lo puoi installare su una chiavetta, metti i file nella cartella root, e puoi farlo partire da qualsiasi pc compatibile con windows.
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: antonino.spampinato - Giugno 12, 2012, 11:37:48 am
Ma anche con glype può funzionare in remoto.
Anche se però richiede php 5.2.17.
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: littleqwerty - Luglio 02, 2012, 03:21:32 pm
Ma anche con glype può funzionare in remoto.
Anche se però richiede php 5.2.17.

? prova a fare un'esempio

ps. ho letto che è un proxy. tieni presente, comunque, che molti hosting li vietano esplicitamente.
Titolo: Re:Aiuto con creazione mio servizio
Inserito da: antonino.spampinato - Luglio 03, 2012, 07:25:46 pm
è se ti dico che lo uso su altervista x esempio.
è ovvio con qualche errore è limitazione.
l'unico problema è che l'ip è fisso, è quello di altervista.