Sviluppo software e assistenza > GoJack php

Aiuto con creazione mio servizio

(1/5) > >>

lifedj:
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

Daniele8787:
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. :)

lifedj:
Sto provando a richiamare gojack in questo modo:


--- Codice: ---
$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");
--- Termina codice ---

E la risposta è:


--- Codice: ---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
--- Termina codice ---

Come mai? Sei sicuro che io possa passare le variabili sia in post che in get???

lifedj:
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: ---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?
--- Termina codice ---

Questo è il codice PHP che uso x richiamare lo script con ic:


--- Codice: --- $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");

--- Termina codice ---

C'è qualche variabile da passare come cookie?
O altro?
Se la richiamo con un browser funziona, invece se la richiamo da PHP no!!!

Daniele8787:
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.

Navigazione

[0] Indice dei post

[#] Pagina successiva

Vai alla versione completa