PHP cURL

tada

Estoy intentando mediante cURL extraer los datos que devuelve una petición web por el puerto 50050. Por alguna razón que no entiendo no devuelve nada (HTTP code = 0).

He intentado de todo pero no hay manera, alguien sabe que puede estar pasando?

	$html_brand = 'http://ejemplo/';
	$options = array(
	CURLOPT_URL            => $html_brand,
	CURLOPT_PORT		   => 50050,
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_HEADER         => true,
	CURLOPT_FOLLOWLOCATION => true,
	CURLOPT_ENCODING       => "",
	CURLOPT_AUTOREFERER    => true,
	CURLOPT_CONNECTTIMEOUT => 70,
	CURLOPT_TIMEOUT        => 70,
	CURLOPT_MAXREDIRS      => 10,
	);
	curl_setopt_array( $ch, $options );	

$result = curl_exec($ch);
    curl_close($ch);

    echo $result;	

Ya he intentado poner el puerto en la url y en todos lados, etc.. pero es raro porque accediendo desde el navegador va perfecto y con cURL no hay manera.

tada

Bueno investigando un poco parece ser que la petición se está haciendo a un PLC. El tema es que el PLC solo devuelve algo si detecta algun tipo de petición pero parece que tal y como estoy haciendola no la detecta (con navegador si pero con esa peticion cURL es como hablarle a una pared).

Alguien sabe si existe alguna forma de mandar un "saludo" via cURL? utilizando fsockopen me funciona bien y me devuelve el resultado, pero el hosting que utilizo no acepta el uso de sockets xD

Maestros de PHP, yo os invoco!

os dejo la forma en la que si recibo los datos (pero que no puedo utilizar en el hosting porque me dice (Connection timed out (110)).

	$fp = fsockopen("ejemplo.com:50050", 50050, $errno, $errstr, 30);
	if (!$fp) {
		echo "$errstr ($errno)<br />\n";
	} else {
		$out = "hello";
		fwrite($fp, $out);
		while (!feof($fp)) {
			echo fgets($fp, 128);
		}
	
	fclose($fp);
}
eXtreM3

Tienes que hacerlo con cURL sí o sí? Lo digo porque con esta función de php extraes también los datos de una dirección

file_get_contents

LOc0

¿Otras web con curl te funcionan?

Prueba añadiendo:

CURLOPT_COOKIEFILE => '', CURLOPT_USERAGENT => 'Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1'

Y si sigue sin ir, añade:

CURLOPT_HTTPHEADER => array('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3', 'Connection: keep-alive')

A ver si hay suerte.

Salu2 ;)

PD: y si al final necesitas trastear más a fondo con CURL, te recomiendo echarle un vistazo a -> http://www.mediavida.com/foro/9/fastcurl-388430

Usuarios habituales

  • LOc0
  • eXtreM3
  • tada