Configurar proxy para una sesión CURL en PHP

May 03, 2012 1 Comment by

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);
PHP, Web Scraping

About the author

Ingeniero en Informática, Oracle Certified Master Java EE 6 Enterprise Architect, Oracle Certified Professional Java Programmer. Experto en distintas ramas de la computación y otras "yerbas" xD. Si te gusto este post, sígueme en @deerme_org, escríbeme a info AT deerme.org o contactame por linkedin.

One Response to “Configurar proxy para una sesión CURL en PHP”

  1. NetRoot says:

    Exelente, muy útil…. funciona de maravilla con PHP 5.3/Debian apache2

Leave a Reply


1 + = nine