GoJack - SMS gratis

  • Dicembre 08, 2024, 05:19:07 am
  • Benvenuto, Visitatore
Effettua l'accesso o una nuova registrazione.

Inserisci il nome utente, la password e la durata della sessione.
Ricerca avanzata  

Autore Topic: Aiuto con creazione mio servizio  (Letto 18286 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

lifedj

  • User primo livello
  • *
  • Karma: +0/-0
  • Offline Offline
  • Post: 12
    • Mostra profilo
Aiuto con creazione mio servizio
« il: 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
Connesso

Daniele8787

  • Sviluppatore GoJack
  • Administrator
  • Senior
  • *****
  • Karma: +95/-0
  • Offline Offline
  • Post: 1878
  • L'unica vera libertà, corrisponde al non aver bisogno di NULLA.
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #1 il: 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. :)
« Ultima modifica: Maggio 31, 2012, 11:22:09 pm da Daniele8787 »
Connesso

lifedj

  • User primo livello
  • *
  • Karma: +0/-0
  • Offline Offline
  • Post: 12
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #2 il: 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???
Connesso

lifedj

  • User primo livello
  • *
  • Karma: +0/-0
  • Offline Offline
  • Post: 12
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #3 il: 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!!!
« Ultima modifica: Giugno 03, 2012, 03:13:10 pm da lifedj »
Connesso

Daniele8787

  • Sviluppatore GoJack
  • Administrator
  • Senior
  • *****
  • Karma: +95/-0
  • Offline Offline
  • Post: 1878
  • L'unica vera libertà, corrisponde al non aver bisogno di NULLA.
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #4 il: 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.
« Ultima modifica: Giugno 03, 2012, 05:37:15 pm da Daniele8787 »
Connesso

antonino.spampinato

  • User quarto livello
  • ****
  • Karma: +18/-1
  • Offline Offline
  • Post: 468
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #5 il: 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..
« Ultima modifica: Giugno 03, 2012, 05:49:33 pm da antonino.spampinato »
Connesso

lifedj

  • User primo livello
  • *
  • Karma: +0/-0
  • Offline Offline
  • Post: 12
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #6 il: 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???
Connesso

lifedj

  • User primo livello
  • *
  • Karma: +0/-0
  • Offline Offline
  • Post: 12
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #7 il: 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;

}
Connesso

Daniele8787

  • Sviluppatore GoJack
  • Administrator
  • Senior
  • *****
  • Karma: +95/-0
  • Offline Offline
  • Post: 1878
  • L'unica vera libertà, corrisponde al non aver bisogno di NULLA.
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #8 il: 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. :-\
« Ultima modifica: Giugno 03, 2012, 09:41:12 pm da Daniele8787 »
Connesso

lifedj

  • User primo livello
  • *
  • Karma: +0/-0
  • Offline Offline
  • Post: 12
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #9 il: 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!
Connesso

Daniele8787

  • Sviluppatore GoJack
  • Administrator
  • Senior
  • *****
  • Karma: +95/-0
  • Offline Offline
  • Post: 1878
  • L'unica vera libertà, corrisponde al non aver bisogno di NULLA.
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #10 il: 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.
Connesso

lifedj

  • User primo livello
  • *
  • Karma: +0/-0
  • Offline Offline
  • Post: 12
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #11 il: 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!
Connesso

antonino.spampinato

  • User quarto livello
  • ****
  • Karma: +18/-1
  • Offline Offline
  • Post: 468
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #12 il: 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.
« Ultima modifica: Giugno 03, 2012, 11:10:08 pm da antonino.spampinato »
Connesso

Daniele8787

  • Sviluppatore GoJack
  • Administrator
  • Senior
  • *****
  • Karma: +95/-0
  • Offline Offline
  • Post: 1878
  • L'unica vera libertà, corrisponde al non aver bisogno di NULLA.
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #13 il: 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. ;)
Connesso

lifedj

  • User primo livello
  • *
  • Karma: +0/-0
  • Offline Offline
  • Post: 12
    • Mostra profilo
Re:Aiuto con creazione mio servizio
« Risposta #14 il: 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! ;-)
Connesso
 

Contatta Daniele8787 l'autore di GoJack


Se vuoi ringraziare me (Daniele8787) e ciopper90, per il lavoro svolto fin'ora,
puoi prendere in considerazione una libera donazione. Grazie mille.