Estudi de programació i serveis informàtics

Usar file_get_contents() darrere un proxy

Dijous, Maig 10th, 2012

Si us trobeu programant PHP darrera un proxy, es molt possible que per fer peticions externes, com per exemple file_get_contents(), necessitareu indicar el proxy per poder fer les peticions. Usarem la funció stream_context_create() per definir el context de la connexió. Per usar-lo hauriem de procedir així:

//setup proxy context
$auth = base64_encode('user:passwd');
$context = array(
    'http'=>array(
        'proxy'=>'tcp://192.168.1.0:3128',
        'request_fulluri'=>true,
        'header' => "Proxy-Authorization: Basic $auth"
    )
);

//create context
$sc = stream_context_create($context);

//get uri JSON content from twitter. request #php hashtag
$json = file_get_contents("http://search.twitter.com/search.json?rpp=100&callback=&q=%23php", true, $sc);    

//getting the file content as array
$decode = json_decode($json, true);

echo "<pre>";
print_r($decode);
echo "</pre>";

Obviament,haurieu de canviar l’adreça i el port en cas que siguin diferents, i posar el corresponent usuari i contrasenya. En cas que nocalgui autenticació n’hi ha prou amb treure l’element ‘header‘ de la taula ‘context‘ definida.


Etiquetes: ,

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir el correu brossa. Aprendre com la informació del vostre comentari és processada