Re: [PHP-ES] Problema con CURL y NOBODY
[email protected] ("[::Navickator Shadow::]")
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <[email protected]> |
2010/6/15 Manolet Gmail <[email protected]> > Hola, quiero obtener los encabezados para el siguiente link usando CURL: > > http://freedfd.googlecode.com/files/FreeDFD-1.1.zip > > Configure curl de la siguiente manera > > $ch = curl_init(); > curl_setopt ($ch, CURLOPT_URL, $url); > curl_setopt ($ch, CURLOPT_HEADER, true); > curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE > 5.01; Windows NT 5.0)"); > curl_setopt ($ch, CURLOPT_NOBODY, 1); // and *only* get the header > curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); > curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); > curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 15); > curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, 'HEAD'); > curl_setopt ($ch, CURLOPT_FRESH_CONNECT, 1); // don't use a cached > version of the url > $resultado = curl_exec($ch); > $error = curl_error($ch); > $info = curl_getinfo($ch); > > Yo no quiero que curl descargue el archivo, solo quiero los headers de > respueta asi que por eso puse NOBODY como 1, funciona bien para la mayoria > de servidor pero con google pasa algo extraño, si pongo esa directiva el > servidor de google me regresa una pagina de error con los headers mal. Si > no > pongo esa directiva me regresa los headers que me interesan junto con el > archivo. > > Yo no quiero el cuerpo de la respueta (el archivo) porque puede ser muy > pesado y para mi es innecesario pues lo unico que quiero es verificar que > el > link funcione y sea una descarga, no descargarlo. > > Tienen alguna idae de como cancelar la descarga una vez se reciban los > headers? > > Arnold > Hola Arnold, Esta te debe funcionar bien y muy rápido. <?php $url="http://freedfd.googlecode.com/files/FreeDFD-1.1.zip"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_exec($ch); echo curl_getinfo($ch,CURLINFO_CONTENT_TYPE); curl_close($ch); ?> Espero sea de ayuda Saludos.