Tutorial e guide su applicativi e sofware gratuiti,
protezione cartelle e virus, hardware, errori windows,
reinstallazione sistema operativo, protezione cartelle, Linux ecc..
  Ultimo Urlo - Inviato da: Alexander - il Sabato, 2010-Gen-23, 06:07
  Sono presenti nuovi applicativi nell'apposita sezione download..
punto_vert.gif (43 byte)
Implementazione automatizzata tramite codice (parte 2)

MKPReviews->Tutorial per Webmaster->Implementazione automatizzata tramite codice (parte 2) [ Cerca ]

Implementazione automatizzata tramite codice (parte 2)
Titolo Implementazione automatizzata tramite codice (parte 2)
Descrizione Tutorial su come automatizzare procedure che apparentemente richiedono l'intervento di un operatore umano.
Inviata da Alexander
.

La strada per la soluzione

Sia ben inteso che:
1) questa è una soluzione possibile, non è l'unica e forse neanche la migliore;
2) la sua validità non è garantita al 100\% ma dalle prove fatte almeno al 98\%.

Il concetto sul quale si basa la soluzione è questo: se l'amministartore compie, per iscrivere l'utente al server del servizio, un operazione precisa (non è strettamente necessario) ma comunque che non richiede interpretazione complessa da parte dell'amministratore stesso, allora questa operazione puo' essere molto spesso simulata con codice.
Quello che ci proponiamo è di simulare quello che fa l'amministratore.
Le operazioni compiute sono di tre tipi:
a) compilazione campi;
b) invio dati da form;
c) click su link

a) La compilazione dei campi puo' avvenire semplicemente con assegnazione a variabile, comunque poi lo vedremo meglio.

b) L'invio di un form non è altro che la generazione di richiesta ad un server del tipo "htp://www.serverservizi.com/paginaX.php?c1=xx&c2=yy....."
Basterà, quindi ricostruire questa stringa ed effettuare la richiesta.

c) Il click su un link vuol dire generare una richiesta ad un server del tipo "http://www.serverservizi.com/paginaX.php?c1=XX&c2=yy..."

Come si nota la differenza tra b) e c) è minima.
In realtà l'invio dei dati del form avviene molto spesso con il metodo "POST". Una richiesta generata da un click su link, invece, è di tipo "GET"

Gli strumenti

Cosa ci serve per la nostra simulazione? Quasi nulla. Deciso che tutto ruota intorno alla generazione di richieste da inviare ad un server non ci rimane altro che capire come generare una di queste richieste in modo "invisibile".
Useremo i socket. Senza addentrarci nelle spiegazioni sul funzionamento dei socket basti considerare il codice che segue:

function requestToServer($host,$method,$path,$data,$useragent=0)
{
if (empty($method)) $method = 'GET';
$method = strtoupper($method);
$fp = fsockopen($host,80);
if ($method == 'GET')
$path .= '?' . $data;
fputs($fp, "$method $path HTTP/1.1n");
fputs($fp, "Host: $hostn");
fputs($fp, "Content-type: application/x-www-form-urlencodedn");
fputs($fp, "Content-length: " . strlen($data) . "n");
if ($useragent)
fputs($fp, "User-Agent: MSIEn");
fputs($fp, "Connection: closenn");
if ($method == 'POST')
fputs($fp, $data);
while (!feof($fp)) $buf .= fgets($fp,128);
fclose($fp);
return $buf;
}

Come si vede questa funzione è in grado di effettuare richieste via socket sia di tipo "POST" che di tipo "GET". Cosa ci manca? Quasi nullla a parte capire come fare a costruire le richieste da effettuare. Forse è meglio provare con un esempio.

Dalla teoria alla pratica

Supponiamo che l'amministratore di un sito che chiameremo SitoPippo.com voglia voglia aggiungere al suo sito una news-list ma non ha il codice per implementare questo servizio e si affida ad un sito che, invece, fornisce a webmaster il servizio di news-list. Chiameremo questo sito NewsList.com.

Ora, analizziamo attentamente come funziona il procedimento di iscrizione di un cliente di SitoPippo.com alla news-list del sito stesso.
L'amministratore avrà predisposto un form simile al seguente tramite il quale ottiene alcune informazioni

Nome
Mail
Città


Di questo form notiamo i campi:
input name="nome" type="text" id="nome"
input name="email" type="text" id="email" value=""
input name="citta" type="text" value=""

Una volta che l'utente fa il submit del form i dati vengono memorizzati in un db o inviati in posta all'amministratore. A questo punto l'amministratore dovrà andare sul sito NewsList.com effetuare la login per accedere al suo account e salvare dati dell'utente, quelli ricevuti in posta o letti dal db.

A noi importa analizzare i passi eseguiti dall'amministratore in questa parte dell'operazione e capire come simularli con del codice.


autore: Nicola Dell'Anna

Giudizio Voti: 1 - Media:

Vota
Commenti

Statistiche
Abbiamo 33 Tutorial-Guide nel nostro database
La più vista: Installare, salvare e cancellare Animoticons su MSN
La più votata: Comandare una presa 230V

Utenti totali presenti nella sezione Tutorial-Guide: 0 (Utenti Registrati:0, Visitatori:0 e Utenti Anonimi:0)
Gli utenti visibili sono: 0


 
punto_vert.gif (43 byte)

Webmaster: Alessandro Scorrano (segnalato anche su Aquazoo.it: Problemi PC - Helpinweb.it)

Siti Partner: Elettronicaperpassione.it - Video divertenti - Suonerie - Finanziamenti e Mutui - Guida Hosting - Ingegneria Elettronica - Annunci Gratuiti - Mare del Salento - Ricette di Cucina - Chat


[ Script Execution time: 0.0825 ]   [ 30 queries used ]

    DiTuttoGratis.com

MKPortal 1.1 Final 2003-2004 - mkportal.it

Grafica, immagini e layout © Helpinweb.it