Configurar proxy para una sesión CURL en PHP
Si necesitas utilizar un proxy en CURL (en php) para la extración de datos, solo debes configurar los parametro CURLOPT_PROXY, CURLOPT_PROXYPORT y CURLOPT_PROXYUSERPWD con curl_setopt.
El siguiente ejemplo, utiliza el proxy 192.168.1.10 puerto 8080 para acceder a la url http://intranet/news.aspx, además de auntentificación NTLM (opcional).
<?php $user = "user"; $pass = "qwerty"; $ch = curl_init('http://intranet/news.aspx'); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS ,"show=1"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM); curl_setopt($ch, CURLOPT_USERPWD, $user.':'.$pass); curl_setopt($ch, CURLOPT_PROXY, "http://192.168.1.10:8080"); curl_setopt($ch, CURLOPT_PROXYPORT, 8080); curl_setopt ($ch, CURLOPT_PROXYUSERPWD, "user-proxy:user-pass"); $buffer = curl_exec($ch);
Exelente, muy útil…. funciona de maravilla con PHP 5.3/Debian apache2