Una richiesta cURL con PHP e agent personalizzato
Luca Longo | 15 gennaio 2010
Dopo una lunga sfilza di articoli su jQuery, il focus si sposta su PHP. Oggi realizzeremo una guida capace di spiegarci come poter interrogare delle pagine esterne (magari per scrivere uno spider) impostando un Agent personalizzato: tutto ciò grazie all’utilizzo della libreria cUrl offerta da PHP.
Sia se utilizzate wamp, sia se avete una configurazione LAMP, vi anticipo che c’è da includere la libreria sul PHP.INI.
Per capire se avete curl abilitato o meno, potete creare un file PHP e mettere al suo interno SOLO questo codice:
<? phpinfo(); ?>
Se avrete cUrl attivo, lo capirete da una riga simile a questa:

Bene… se questa è la vostra schermata, siamo sicuri che curl è installato e possiamo procedere con la lettura dell’howto. Diversamente vi consiglio di navigare su Google e cercare una guida per la sua installazione.

<?php // Inizializziamo il riferimento alla risorsa cURL $ch = curl_init(); // Impostiamo l'url sul quale bisogna fare la richiesta curl_setopt($ch, CURLOPT_URL, "http://www.masterix.org"); // Eseguiamo la richiesta $output = curl_exec($ch); // Chiudiamo il riferimento alla risorsa cURL e liberiamo le risorse in memoria curl_close($ch); ?>
Queste semplici righe di codice, ci permettono di interrogare una pagina web e mettere tutto il codice di risposta in una variabile php di nome $output. Tuttavia, per modificare l’agent con cui ci presentiamo al webserver, dobbiamo aggiungere una nuova riga di codice. Trasformiamo quindi il codice sopra, in questo modo:
<?php
// Inizializziamo il riferimento alla risorsa cURL
$ch = curl_init();
// Impostiamo l'url sul quale bisogna fare la richiesta
curl_setopt($ch, CURLOPT_URL, "http://www.masterix.org");
// Impostiamo l'user-agent con il quale bisogna fare la richiesta
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");
// Eseguiamo la richiesta
$output = curl_exec($ch);
// Chiudiamo il riferimento alla risorsa cURL e liberiamo le risorse in memoria
curl_close($ch);
?>
E con questo abbiamo finito. Per dubbi, correzioni o suggerimenti, commentate
Articoli suggeriti:



Una richiesta cURL con PHP e agent personalizzato…
Dopo una lunga sfilza di articoli su jQuery, il focus si sposta su PHP. Oggi realizzeremo una guida capace di spiegarci come poter interrogare delle pagine esterne (magari per scrivere uno spider) impostando un Agent personalizzato: tutto ciò grazie al…