Volando come un Rasteriz

"Un colore unico: impossibile da dipingere" – Luca "masterix" Longo
  • rss
  • Homepage
  • Cose varie
  • Howto & Tips
    • jQuery
    • PHP
  • Lyrics
  • Software
  • Contattami
  • Registrati
  • Collegati

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

  • Google Reader
  • Twitter
  • Digg
  • Oknotizie
  • Yahoo Buzz
  • Reddit
  • Technorati Favorites
  • Ping
  • StumbleUpon
  • Facebook
  • Delicious
  • PrintFriendly
  • Condividi questo testo
Comments
1 Commento »
Categorie
Howto & Tips, PHP
Tags
agent, curl, CURLOPT_URL, CURLOPT_USERAGENT, lamp, opensource, php, user, user-agent, wamp
Commenti RSS Commenti RSS
Trackback Trackback

Dalla tabella al datagrid secondo Ingrid… e jQuery!

Luca Longo | 12 gennaio 2010

Ho lavorato per diverso tempo con il framework .NET ed ho sempre trovato fantastici i controlli offerti: primo su tutti il datagrid. Su Internet esistono diverse alternative e quasi tutte o promettono tanto (dando nulla) oppure sono a pagamento. Finalmente, però, sono riuscito a trovare un datagrid dal funzionamento simile, senza particolari compromessi: Ingrid.

Sul sito ufficiale possiamo trovare alcuni esempi e una spiegazione (molto semplice) che ci permetterà di integrarlo velocemente nei nostri progetti. Degna di nota è la possibilità di integrarsi a tabelle già esistenti: fattore che lo rende immediatamente utilizzabile anche in progetti già esistenti.

Sito ufficiale: http://www.reconstrukt.com/ingrid/

  • Google Reader
  • Twitter
  • Digg
  • Oknotizie
  • Yahoo Buzz
  • Reddit
  • Technorati Favorites
  • Ping
  • StumbleUpon
  • Facebook
  • Delicious
  • PrintFriendly
  • Condividi questo testo
Comments
1 Commento »
Categorie
Howto & Tips, jQuery
Tags
.net, c#, datagrid, ingrid, javascript, jQuery, php, tabella esistente
Commenti RSS Commenti RSS
Trackback Trackback

Add-to-any: aggiungiamo OKNotizie e Diggita [facile]

Luca Longo | 3 gennaio 2010

Curare un blog comporta anche pubblicizzarlo e rendere noti i tuoi interessi. Essendo un programmatore PHP da tanti anni ed avendo la necessità di aggiungere questi due servizi all’eccellente plugin Addtoany, mi sono armato di santa pazienza ed ho modificato un po’ il sorgente.

Anticipo che l’unico file modificato è services.php. La modifica è molto semplice. Il file contiene al suo interno un array molto articolato che descrive in modo appropriato tutto l’arsenale dei servizi: io non ho fatto altro che aggiungere ad esso due sottoarray come segue.

 "oknotizie" => Array(
                "name" => "OKnotizie",
                "icon_url" => "http://oknotizie.virgilio.it/favicon.ico",
                "icon_width" => 16,
                "icon_height" => 16,
                "href" => "http://oknotizie.virgilio.it/post?url=A2A_LINKURL&title=A2A_LINKNAME"
        ),
"diggita" => Array(
                "name" => "Diggita",
                "icon_url" => "http://www.diggita.it/favicon.ico",
                "icon_width" => 16,
                "icon_height" => 16,
                "href" => "http://www.diggita.it/submit.php?url=A2A_LINKURL&title=A2A_LINKNAME"
        ),

Per i più pigri, ho già fatto tutto io: potete scaricare questo file services.php.

Il file lo troverete (sia per modificarlo, sia per sostituirlo) nella directory wp-content/plugins/add-to-any/

Buon divertimento .-)

Hai trovato interessante questo articolo?

  • Google Reader
  • Twitter
  • Digg
  • Oknotizie
  • Yahoo Buzz
  • Reddit
  • Technorati Favorites
  • Ping
  • StumbleUpon
  • Facebook
  • Delicious
  • PrintFriendly
  • Condividi questo testo
Comments
Nessun Commento »
Categorie
Howto & Tips
Tags
add, add-to-any, any, diggita, oknotizie, php, programmatore, services, servizi, to
Commenti RSS Commenti RSS
Trackback Trackback

Pagina 1 di 212»

Cerca nel sito…

Info collegate all’articolo

I più votati

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
rss Commenti RSS powered by Wordpress