Successivo

News

Il proxy PHP di Yahoo

Michele Costabile | 3 Novembre 2008

Quando si crea un mashup, collezionando input da sorgenti diverse, ci si può scontrare con la politica di protezione del […]

Quando si crea un mashup, collezionando input da sorgenti diverse, ci si può scontrare con la politica di protezione del browser, che impeisce a uno script caricato dal server X di aprire una connessione con il server Y.
La soluzione? Un proxy, come il proxy PHP pubblicato da Yahoo.


Perché serve un proxy è illustrato efficacemente dai disegni che troviamo nella documentazione della Yahoo developer connection nell’articolo che illustra perché utilizzare un proxy.
La politica di protezione del browser consente il collegamento a servizi presenti sul host da cui si è scaricato lo script in esecuzione:

53F27B07-6D03-4F1D-8907-E3B04E304C4F.jpg

Non è ammesso, invece che uno script si connetta a un server terzo:

274F90FD-A3E6-42FC-BE71-B3193A41B183.jpg

La soluzione è quella di utilizzare un proxy, cioè un intermediario da caricare sul sito in cui stiamo creando la nostra applicazione e a cui demandare la connessione effettiva verso il server da cui vogliamo prelevare dei dati

C350421C-504D-4B56-BC04-8CA173CF869F.jpg

Il proxy usa una variabile globale, chiamata HOSTNAME per conservare il nome del sistema a cui collegarsi. Questa variabile si può impostare come segue:

define ('HOSTNAME', 'https://search.yahooapis.com/');

Infine, ecco come si può usare il proxy

// path contiene il path della richiesta, con l'esclusione del server
var path = 'VideoSearchService/V1/videoSearch?appid=YahooDemo&query=madonna&results=2';

// Il percorso completo del proxy
var url = 'https://localhost/php_proxy_simple.php?yws_path=' + encodeURIComponent(path);
... // la chiamata al proxy
xmlhttp.open('GET', url, true);

Per saperne di più ecco l’articolo in Inglese della Yahoo Developer Network.