AGOW_CMS 1.0
HttpRequest e HttpResponse
Senza usare la curl, con due classettine si possono fare con semplicita' molte cose:
- Inviare HttpRequest ad un determinato server con GET/POST e imulazione di Files in upload (letti dal disco della macchina inviante)
- Trapparsi la response gia' parsata e divisa in:
- Code (200, 404 ...)
- Headers (array associativo tipo [content-type] => "text/html" ecc..
- Body l' html come stringa di testo
Utilizzo:
Creazione di una semplice richiesta
$myRequest = new HttpRequest();
$myRequest->host = 'www.tuosito.it';
$myRequest->server = gethostbyname($myRequest->host); // ci pensa il DNS
$myRequest->target = '/index.php';
$myRequest->method = 'GET';
Aggiunta di variabili:
$myRequest->vars['nomevar1'] = 'valorevariabile1';
$myRequest->vars['nomevar2'] = 'valorevariabile2';
Aggiunta di cookies:
$myRequest->cookies['PHPSESSID'] = '2gae1yuqw6whdinmalpetw83mfd37ia9';
$myRequest->cookies['Expire'] = '19700101';
Aggiunta di files in upload:
$myRequest->files['varname1'] = array(
'fname' => '/local/path/to/file.txt',
'ctype' => 'text/plain'
);
$myRequest->files['varname2'] = array(
'fname' => '/local/path/to/file.png',
'ctype' => 'image/png'
);
Inizializzazione e invio:
if(!$myRequest->Init()) die($myRequest->err);
if(!$myRequest->Send()) die($myRequest->err);
Una volta inviata la richiesta http, l'oggetto risposta di classe HttpResponse, diventa disponibile (salvo errori) nell' membro response dell' oggetto $myRequest (utilizzato per la richiesta)
$myRequest->response->code; // il codice di risposta (200, 404 ecc..)
$myRequest->response->headers['set-cookie']; // il cookie
$myRequest->response->headers['location']; // qui c'e' un redirect
$myRequest->response->body; // il testo puro (senza headers
Le classi:
Autore: #ffffff (09-02-2007 00:00:00)
07-01-2009 - PM 02:19