Estoy buscando establecer Curl para usar un servidor proxy. La URL es proporcionada por un formulario html, que no ha sido un problema. Sin el proxy, funciona bien. He encontrado código en este y otros sitios, pero no funcionan. Cualquier ayuda para encontrar la solución correcta sería muy apreciada. Siento que el bramido está cerca, pero que me falta algo. Gracias.¿Cómo usar CURL a través de un proxy?
El código abajo Adapté de aquí http://www.webmasterworld.com/forum88/10572.htm pero devuelve un mensaje de error sobre un T_VARIABLE falta en la línea 12.
<?
$url = '$_POST[1]';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_PROXY, '66.96.200.39:80');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
curl_setopt ($ch, CURLOPT_HEADER, 1)
curl_exec ($ch);
$curl_info = curl_getinfo($ch);
curl_close($ch);
echo '<br />';
print_r($curl_info);
?>
El abajo es de curl through proxy returns no content
<?
$proxy = "66.96.200.39:80";
$proxy = explode(':', $proxy);
$url = "$_POST[1]";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
curl_setopt($ch, CURLOPT_HEADER, 1);
$exec = curl_exec($ch);
echo curl_error($ch);
print_r(curl_getinfo($ch));
echo $exec;
?>
es actualmente viven en Pelican -cement.com pero tampoco funciona.
ACTUALIZACIÓN: Gracias por toda su ayuda, hice los cambios anteriores. Ahora solo devuelve una pantalla en blanco.
<?
$url = $_POST['1'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_PROXY, '66.96.200.39:80');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_exec ($ch);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;
?>
Usted se echa en falta un punto y coma en la línea 12 –
Además, es necesario cambiar $ url = '$ _POST [1]' a $ url = $ _POST [1] - de lo contrario, $ url será una cadena en lugar de la URL que desea – yoavmatchulsky
Además, la clave en la matriz $ _POST es una cadena que no es un número entero, por lo que le gustaría que diga '$ _POST ['1']' – fiiv