Vai al contenuto


http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/ 20 6 1 100 41 15217 <![CDATA[Vuoi Imparare A Scrivere Un Provider?]]> 194412 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194412 Lesson ONE

Tanto per iniziare ho voluto registrare dei video dimostrativi a scopo didattico per istruire gli utenti di SmsClient verso un uso più globale del nostro software.
Iniziamo con un primo video,compresso in rar per motivi di spazio,dove viene dimostrata una sequenza di procedure da seguire per mettere in opera un provider estremamente semplice.

-Punto primo visionare il video
-Punto secondo rimodulazione del codice provider per renderlo utilizzabile alla community.
Nel nostro esempio abbiamo come risultato dopo la registrazione della sequenza questo codice xml
<page submit=&#34;POST&#34; referer=&#34;http&#58;//dmp.dynmark.com/smspresstrial/register.htm&#34; >
	<link name=&#34;http&#58;//dmp.dynmark.com/smspresstrial/Register.aspx&#34;  />
	<field name=&#34;Msisdn&#34; value=&#34;393331234567&#34;  />
	<field name=&#34;Submit1&#34; value=&#34;Register&#34;  />
	<field name=&#34;hidReferrer&#34;  />
</page>

Tale codice però nel campo field name="Msisdn" il valore value contiene il nostro numero,quindi per consentire al provider di recuparare dalle proprie librerie il nostro numero di cell inserendolo nell apposita casella il codice viene semplicemente modificato in questa forma:
<page submit=&#34;POST&#34; referer=&#34;http&#58;//dmp.dynmark.com/smspresstrial/register.htm&#34; >
	<link name=&#34;http&#58;//dmp.dynmark.com/smspresstrial/Register.aspx&#34;  />
	<field name=&#34;Msisdn&#34; value=&#34;$%39$PrefixAndNumber&#34; eval=&#34;True&#34;  />
	<field name=&#34;Submit1&#34; value=&#34;Register&#34;  />
	<field name=&#34;hidReferrer&#34;  />
</page>

Questa stringa value="$%39$PrefixAndNumber" consente l applicazione del prefisso 39 sul sito,PrefixAndNumber l'utiilizzo del numero di cell da noi riportato in SmsClient.
Il valore eval="True" invece fa si che i valori riportati in SmsClient (es numero di cell o testo) vengano recuperati e fissati nel provider,che a sua volta provvede ad inserirli nel sito in questione.

In definitiva il provider assume questa forma
<provider provID=&#34;1836718491&#34; name=&#34;zdmp.dynmark dimostrazione pratica&#34; isZetaProvider=&#34;True&#34;>
  <action id=&#34;0&#34; baseAction=&#34;-1&#34; friendlyName=&#34;Send&#34;>
	<page submit=&#34;POST&#34; okString=&#34;Registration Successful&#34; referer=&#34;http&#58;//dmp.dynmark.com/smspresstrial/register.htm&#34;>
	  <links>
		<link name=&#34;http&#58;//dmp.dynmark.com/smspresstrial/Register.aspx&#34; />
	  </links>
	  <fields>
		<field name=&#34;Msisdn&#34; value=&#34;$%39$PrefixAndNumber&#34; eval=&#34;True&#34; />
		<field name=&#34;Submit1&#34; value=&#34;Register&#34; />
		<field name=&#34;hidReferrer&#34; />
	  </fields>
	</page>
  </action>
</provider>

isZetaProvider="True" -> consente l autocreazione di un account predefinito per questo provider
friendlyName="Send" -> in alcuni casi viene omesso,ma nel 99% dei casi deve essere presente (vedi guida)
okString -> contiene una parola visionata se il messaggio va a buon fine(vedi video),determinando quindi la comparsa della scritta sent 100% nel client. La sua assenza determina in ogni caso la comparsa del sent 100%.


Lesson TWO

Eccoci di nuovo per la seconda prova dimostrativa,dove visioneremo ed impareremo a gestire con un provider siti che fanno uso del codice ottico.

- Punto primo visionare il video.
- Punto secondo rimodulazione del codice provider per renderlo utilizzabile alla community.
Effettuata dunque la registrazione della sequenza (vedi video),abbiamo come risultato tale codice dal sito preso in esempio:
<page submit=&#34;POST&#34; referer=&#34;http&#58;//rcsmobile.corriere.it/sso/lostpassword.php&#34; >
	<link name=&#34;http&#58;//rcsmobile.corriere.it/cgi-bin/sso/remind_password.cgi&#34;  />
	<field name=&#34;username&#34; value=&#34;3331234567&#34;  />
	<field name=&#34;md5check&#34; value=&#34;72f8b01b7c676fa8be3d05970d587e1b&#34;  />
	<field name=&#34;code&#34; value=&#34;73796&#34;  />
</page>

Anche in questo caso ci sono da modificare dei valori per renderlo utilizzabile all'utenza di SmsClient, infatti il valore "username" contiene il nostro numero e il valore code contiene nel rispettivo value il codice ottico che precedentemente abbiamo inserito (anch egli da modificare perchè variabile ad ogni sessione).

Il codice quindi avrà questa mutazione
<page submit=&#34;POST&#34; okString=&#34;La tua password è stata spedita&#34; referer=&#34;http&#58;//rcsmobile.corriere.it/sso/lostpassword.php&#34; >
	<link name=&#34;http&#58;//rcsmobile.corriere.it/cgi-bin/sso/remind_password.cgi&#34;  />
	<field name=&#34;username&#34; value=&#34;PrefixAndNumber&#34; eval=&#34;True&#34;  />
	<field name=&#34;md5check&#34; value=&#34;72f8b01b7c676fa8be3d05970d587e1b&#34;  />
	<field name=&#34;code&#34; value=&#34;codice_img&#34; eval=&#34;True&#34;  />
</page>

Nel nostro caso in particolare il sito funziona anche senza +39, quindi non necessariamente inseriamo la precedente stringa usata per un sito straniero.
Al posto del PrefixAndNumber tante volte in alternativa può essere usata FullNumber.

Il valore codice_img è un valore contenuto nella GET che diciamo fa da carrier (trasportatore) del codice ottico,prelevandolo e portandolo nel field relativo al codice ottico.
<page submit=&#34;GET&#34; IsSecureImagePage=&#34;True&#34; AddValueAs=&#34;codice_img&#34;>
	  <links>
		<link name=&#34;LINK&#34; />
	  </links>
	</page>
Al posto della scritta LINK viene inserito il link relativo al codice ottico,facilmente prelevabile cliccando sul codice ottico tasto destro e proprietà (vedi video).

Tale GET va anteposta alla sessione in cui si inserisce il codice ottico, quindi nel nostro caso il provider subisce questa mutazione:
<page submit=&#34;GET&#34; IsSecureImagePage=&#34;True&#34; AddValueAs=&#34;codice_img&#34;>
	  <links>
		<link name=&#34;http&#58;//rcsmobile.corriere.it/data_captcha/3972682210fe714af0f7b269ae143900.png&#34; />
	  </links>
	</page>
<page submit=&#34;POST&#34; okString=&#34;La tua password è stata spedita&#34; referer=&#34;http&#58;//rcsmobile.corriere.it/sso/lostpassword.php&#34; >
	<link name=&#34;http&#58;//rcsmobile.corriere.it/cgi-bin/sso/remind_password.cgi&#34;  />
	<field name=&#34;username&#34; value=&#34;PrefixAndNumber&#34; eval=&#34;True&#34;  />
	<field name=&#34;md5check&#34; value=&#34;72f8b01b7c676fa8be3d05970d587e1b&#34;  />
	<field name=&#34;code&#34; value=&#34;codice_img&#34; eval=&#34;True&#34;  />
</page>

Il sito preso in oggetto presenta delle variabili sia nel valore del codice ottico che in quello del penultimo field "md5check" le quali vanno prelevate con l'uso di tag (prossima lezione).Pertanto la dimostrazione e standard per i siti che non presentano queste variazioni,facilmente individuabili effettuando più test sul sito trattato e controllando la staticità dei link e dei valori compresi nei field.

L'uso di questo sito ci consentirà prossimamente si dare una breve dimostrazione sull'uso delle tag.

In definitiva il codice provider assumerà questo aspetto:
<provider provID=&#34;3055&#34; name=&#34;zRCSMobile dimostrazione pratica&#34; ver=&#34;2.1&#34; isZetaProvider=&#34;True&#34;>
  <action id=&#34;0&#34; baseAction=&#34;-1&#34; friendlyName=&#34;Send&#34; ResetOnError=&#34;True&#34;>
<page submit=&#34;GET&#34; IsSecureImagePage=&#34;True&#34; AddValueAs=&#34;codice_img&#34;>
	  <links>
		<link name=&#34;http&#58;//rcsmobile.corriere.it/data_captcha/72f8b01b7c676fa8be3d05970d587e1b.png&#34; />
	  </links>
	</page>
<page submit=&#34;POST&#34; okString=&#34;La tua password è stata spedita&#34; referer=&#34;http&#58;//rcsmobile.corriere.it/sso/lostpassword.php&#34; >
	<link name=&#34;http&#58;//rcsmobile.corriere.it/cgi-bin/sso/remind_password.cgi&#34;  />
	<field name=&#34;username&#34; value=&#34;PrefixAndNumber&#34; eval=&#34;True&#34;  />
	<field name=&#34;md5check&#34; value=&#34;72f8b01b7c676fa8be3d05970d587e1b&#34;  />
	<field name=&#34;code&#34; value=&#34;codice_img&#34; eval=&#34;True&#34;  />
</page>


Lesson three

Seguendo l'orma del provider zRCSmobile illustriamo brevemente il significato delle tag con un esempio semplice per la messa in opera.
Prima di tutto prima di applicare una tag bisogna accertarsi che quel valore che abbiamo in esame sia realmente una variabile.Possiamo quindi effettuare più volte un invio di sms per constatare l'eventuale variazione del valore visionando appunto il codice provider ricevuto per ogni sessione avviata.
Come possiamo notare all'interno del provider in oggetto c'è un valore che ci fa sospettare la presenza di una variabile,precisamente questo (tenete in considerazione questo link per tutta la lezione sulle tag):
<link name=&#34;http&#58;//rcsmobile.corriere.it/data_captcha/72f8b01b7c676fa8be3d05970d587e1b.png&#34; />
<field name=&#34;md5check&#34; value=&#34;72f8b01b7c676fa8be3d05970d587e1b&#34;  />
Tale valore corrisponde al terminale del link del codice ottico quindi a questo punto ci mettiamo all'opera per recuperare tale valore.

Partendo dalla base,la sintassi corretta di una tag è la seguente:
<tag left=&#34;valore_sinistro&#34; right=&#34;valore_destro&#34; addas=&#34;MIOVALORE&#34; />

Nel tag left noi inseriamo il valore che si trova alla sinistra del codice che vogliamo recuperare quindi avremo:
<tag left=&#34;/data_captcha/&#34;
Potevamo usare anche tutto il link che si trova alla sinistra del codice

Please Login HERE or Register HERE to see this link!


ma per comodità ne usiamo la ultima parte.

Nel tag right invece il valore corrispondente nel nostro caso e .png quindi:
right=&#34;.png&#34;

Il valore addas come già detto lo scegliamo noi ma per comodità inseriamo un termine facilmente riconoscibile e che non sia presente in alcun modo all'interno del provider.
addas=&#34;imgcode&#34;

Detto questo unendo i componenti delle tag il risultato sarà il seguente:
<tag left=&#34;/data_captcha/&#34; right=&#34;.png&#34; addas=&#34;imgcode&#34; />

Alla tag segue poi il link del sito cioè questo:

Please Login HERE or Register HERE to see this link!



La tag assume questo forma:
<page submit=&#34;GET&#34;>
<tags>
<tag left=&#34;/data_captcha/&#34; right=&#34;.png&#34; addas=&#34;imgcode&#34; />
</tags>
<links>
<link name=&#34;http&#58;//rcsmobile.corriere.it/sso/lostpassword.php&#34; />
</links>

A questo punto il valore imgcode recuperato dalla tag viene "trasportato" all'interno del link contenente il valore del codice e all'interno del field come illustra l'esempio:
http&#58;//rcsmobile.corriere.it/data_captcha/72f8b01b7c676fa8be3d05970d587e1b.png
<link name=&#34;http&#58;//rcsmobile.corriere.it/data_captcha/$imgcode$%.png&#34; />
-
<field name=&#34;md5check&#34; value=&#34;72f8b01b7c676fa8be3d05970d587e1b&#34;  />
<field name=&#34;md5check&#34; value=&#34;imgcode&#34; eval=&#34;True&#34;  />
Come ben sappiamo tutte le stringhe che seguono il dollaro $ vengono valutate,tutte quelle che seguono $% non vengono valutate.

In definitiva il codice provider sarà cosi composto:
<provider provID=&#34;3055&#34; name=&#34;zRCSMobile dimostrazione pratica&#34; ver=&#34;2.1&#34; isZetaProvider=&#34;True&#34;>
  <action id=&#34;0&#34; baseAction=&#34;-1&#34; friendlyName=&#34;Send&#34; ResetOnError=&#34;True&#34;>
<page submit=&#34;GET&#34;>
		  <tags>
<tag left=&#34;/data_captcha/&#34; right=&#34;.png&#34; addas=&#34;imgcode&#34; />
		 </tags>
		 <links>
<link name=&#34;http&#58;//rcsmobile.corriere.it/sso/lostpassword.php&#34; />
		 </links>
</page>
<page submit=&#34;GET&#34; IsSecureImagePage=&#34;True&#34; AddValueAs=&#34;codice_img&#34;>
	  <links>
		<link name=&#34;http&#58;//rcsmobile.corriere.it/data_captcha/$imgcode$%.png&#34; />
	  </links>
	</page>
<page submit=&#34;POST&#34; okString=&#34;La tua password è stata spedita&#34; referer=&#34;http&#58;//rcsmobile.corriere.it/sso/lostpassword.php&#34; >
	<link name=&#34;http&#58;//rcsmobile.corriere.it/cgi-bin/sso/remind_password.cgi&#34;  />
	<field name=&#34;username&#34; value=&#34;PrefixAndNumber&#34; eval=&#34;True&#34;  />
	<field name=&#34;md5check&#34; value=&#34;imgcode&#34; eval=&#34;True&#34; />
	<field name=&#34;code&#34; value=&#34;codice_img&#34; eval=&#34;True&#34;  />
</page>

Per le tag non ho fatto video dimostrativi perchè era molto sul teorico e non c'era modo per farvi visionare le modalità perchè è tutto qui quello che si deve fare.
Ovviamente esistono alcune "varianti" di tag e non sempre si usa fare in questo modo,varianti non nella forma che è standard ma nell'impostazione di alcuni valori (HTML Encode)
&#34;	-> &quot;
&	-> &amp;
>	-> &gt;
<	-> &lt;

Tali valori vengono tradotti in questo modo.

Penso non manchi nulla e spero di esser stato chiaro,se dovesse esserci qualche aggiornamento provvederò alle modifiche.

Le seguenti informazioni sono state fornite a scopo didattico,pertanto mi esento dall' abuso fatto per uso improprio di tale mezzo.
La registrazione dei dati xml è stata effettuata mediante la navigazione avanzata del nostro software,pertanto si consiglia un accurato apprendimento didattico del significato di molti valori utilizzabili a questo LINK.


Alla prossima
Ciao e buon lavoro.

Allega File(s)

]]>
0 8869 0
194433 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194433 E meno male che avevi detto ieri che l'avresti fatto se ne avevi il tempo :-D,l'hai postato 31 minuti dopo la mezzanotte!!!
Un immenso grazie per questo primo tutorial,sicuramente molto istruttivo per chi sa qualcosa di programmazione ma non aveva la più pallida idea da dove cominciare.
In attesa dell'esempio con il codice ottico studierò e ristudierò questo
Grazie ]]>
0 14639 0
194436 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194436 :dho: ;) :occhioni:

complimenti ottimo..
pian piano illustreremo qualcosa di piu' avanzato, intanto le basi :rotfl: ]]>
0 2 0
194438 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194438 volevo solo dire che magic è amico mio!! :dho:

bravo sasa! ;)

Sempre puntuale e preciso! ]]>
0 11707 0
194462 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194462

volevo solo dire che magic è amico mio!! ;)

bravo sasa! :occhioni:

Sempre puntuale e preciso!



quoto in pieno....

magic è anche amico mio :dho: ]]>
0 14289 0
194463 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194463 Riquoto pure io...

E' anche amico mio :dho: ]]>
0 6098 0
194464 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194464 amici di magic.boy :dho: ]]> 0 14561 0 194491 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194491 grazie, adesso mi metto a studiare anche io..
io non conosco magic ma è campano come me!!! :dho:
poi se è napoletano....... ]]>
0 367 0
194830 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194830

quoto in pieno....

magic è anche amico mio ;)

volevo solo dire che magic è amico mio!! :occhioni:

bravo sasa! :rotfl:

Sempre puntuale e preciso!


eh si,magic paolo e playgin,sono anche amici miei [ma mi odiano...no dai scherzo]

complimenti magic,la nuova carica per me è meritatissima,è sempre preciso..
inoltre insieme a i 3 dell ave maria (magic,play ,paolo) mi hanno aiutato a fare i provider

che dire,complimenti in generale a tutto lo staff:D

ora leggo la guida di magic e provo anchiooo :dho: ]]>
0 10804 0
194833 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194833 B R A V I S S I M O
sasa! complimenti finalmente ora farò un bel provider :dho: ]]>
0 9587 0
194838 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194838 per siti poco complessi con queste info si può benissimamente scriverlo un provider....

come mi suggeriva un mio amico:

ATTACCATE LA SPINA :dho: ;) ]]>
0 8869 0
194863 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194863 :dho: ;) :occhioni:

Ben fatto magic.boy!!! :rotfl: ]]>
0 9646 0
194917 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194917 Ottima guida Magic.
se posso fare una riflessione, posso dire che quasi sempre si inizia dalla fine, cioè:
-apro la pagina principale di un sito che permette di inviare sms;
-effettuo i vari passaggi intermedi fino ad arrivare alla pagina che mi permette di inviare l'sms;
-dopo aver inviato l'sms, sulla stessa pagina vedo con le impostazioni avanzate ad impostare i vari campi da riempire;
-quelli che cambiano tipo codice ottico; memorizzarli in una variabile con una funzione get.

P.S. E' una mia osservazione.Cmq grazie ai moderatori per l'impegno. ]]>
0 12109 0
194945 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=194945

-effettuo i vari passaggi intermedi fino ad arrivare alla pagina che mi permette di inviare l'sms;

Ho scelto apposta un sito che faccia tutto in una pagina web sola...l'esempio a cui fai riferimento tu è quello in cui per inviare un sms si deve passare per pagine diverse non essendoci un link di riferimento diretto all'sms.
Non volendo complicare troppo la vita al niubbo hopreferito fare cosi.
ciao ]]>
0 8869 0
195032 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=195032 E' pure amico mio Magic!!! almeno spero :-) :occhioni: :occhioni: 8)

Sei Grande Magic ]]>
0 388 0
195036 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=195036 intanto applausi per magic 8)

forse sai l'unica cosa che mancano sono i siti per testare se lo facciamo bene :-D ]]>
0 17481 0
195123 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=195123 fantastici...finalmente forse imparo a scrivere providers...

volevo allenarmi su uno che nn è mai stato postato (1 solo sms al giorno),giusto come test,ma per inviare l'sms bisogna essere registrati e loggarsi...come si affronta questo passaggio?

grazie mille !!! ]]>
0 4228 0
195141 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=195141

fantastici...finalmente forse imparo a scrivere providers...

volevo allenarmi su uno che nn è mai stato postato (1 solo sms al giorno),giusto come test,ma per inviare l'sms bisogna essere registrati e loggarsi...come si affronta questo passaggio?

grazie mille !!!

con così poche info è difficile dirlo...
penso che dovrai creare una POST per l'autenticazione e una per mandare l'sms, più altre GET
non proprio il massimo per iniziare 8) ]]>
0 7886 0
195192 20 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=195192 cercate di mantenere pulito questo topic... è riservato solo alla guida

per domande specifiche sulle implementazioni potete aprire un nuovo topic in questa sezione e riceverete una risposta quanto prima

vi lascio il tempo di leggere questo post poi farò una pulizia eliminando i post che non sono in argomento ]]>
0 7886 0
196151 22 Mar 2007 http://forum.smsclient.it/topic/15217-vuoi-imparare-a-scrivere-un-provider/?view=findpost&p=196151 comunque attendiamo altri esempi,magari con provider con più link,perchè col primo è fin troppo facile e di conseguenza nn ci insegna a fare quelli più tosti.siete grandi ]]> 0 4228 0