elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  PHP, Curl y facebook
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: PHP, Curl y facebook  (Leído 2,534 veces)
Zoik

Desconectado Desconectado

Mensajes: 91


Ver Perfil
PHP, Curl y facebook
« en: 4 Marzo 2015, 20:34 pm »

Buenas gente, cuanto tiempo

bien estoy practicando crawling y scraping en php, y estoy mirando a ver si se puede leer el código de una página cualquiera de facebook, para mi sorpresa cuando leo la url con curl, este no me devuelve nada.

Imagino que es debido a que facebook ya tiene contramedidas contra bots, pero me gustaría saber si hay alguna manera de hacerlo sin utilizar la propia api de facebook.

Un saludo y gracias de antemano.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: PHP, Curl y facebook
« Respuesta #1 en: 4 Marzo 2015, 20:52 pm »

si no muestras como lo haces, es dificil saber... capaz eres tu el que se equivoca...


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Zoik

Desconectado Desconectado

Mensajes: 91


Ver Perfil
Re: PHP, Curl y facebook
« Respuesta #2 en: 4 Marzo 2015, 23:05 pm »

Código
  1. <?php
  2. function curl($url)
  3. {
  4. $options = Array(
  5. CURLOPT_RETURNTRANSFER => TRUE,
  6. CURLOPT_FOLLOWLOCATION => TRUE,
  7. CURLOPT_AUTOREFERER => TRUE,
  8. CURLOPT_CONNECTTIMEOUT => 120,
  9. CURLOPT_TIMEOUT => 120,
  10. CURLOPT_MAXREDIRS => 10,
  11. CURLOPT_USERAGENT => "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/2008073000 Shredder/3.0a2pre ThunderBrowse/3.2.1.8",
  12. CURLOPT_URL => $url,
  13. );
  14.  
  15. $ch = curl_init();
  16. curl_setopt_array($ch, $options);
  17. $data = curl_exec($ch);
  18. curl_close($ch);
  19. return $data;
  20. }
  21. echo curl("www.facebook.com");
  22. ?>

Un saludo.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: PHP, Curl y facebook
« Respuesta #3 en: 5 Marzo 2015, 00:22 am »

si... el error es tuyo... tu crees que los navegadores no usan curl o metodos similares? como podría FB saber la diferencia?

cambia
Código
  1. $data = curl_exec($ch);
por
Código
  1. $data = curl_error($ch);

para que veas el error...

el error es sobre el certificado local para la conexión https... bueno... busca sobre el error y verás de que va y por qué... si no te importa el certificado (ni que le hagan un MItM a tu bot)  a las opciones agregale estas 2 lineas

Código
  1. CURLOPT_SSL_VERIFYHOST => false,
  2. CURLOPT_SSL_VERIFYPEER => false

lo que siempre digo... hay que aprender a leer los errores... hay que ver siempre si la librería retorna errores o no
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: PHP, Curl y facebook
« Respuesta #4 en: 5 Marzo 2015, 01:23 am »

Yo creo que necesitas ejecutar curl antes de poder revisar el error, tecnicamente el error deberia aparecer justo despues de usar curl_exec entonces...

Código
  1. $data = curl_exec($ch);
  2. if($data === false){
  3.  $error = curl_error($ch);
  4. }

Es muy probable que no tengas instalado los certificados necesarios. Si usas PHP 5.3.7 en adelante hay una directiva que puedes usar en tu php.ini:

Código
  1. curl.cainfo = /etc/certificados.crt

de lo contrario creo que vas a tener que agregar:

Código
  1. CURLOPT_CAINFO => '/etc/certificados.crt'

A tu arreglo de opcioens.

Te puedes bajar un ca-bundle de mozilla o usar los de tu sistema (depende de tu SO). Si quieres usar los de mozilla, puedes bajarte el .crt de aqui:

https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt

El archivo lo tienes que guardar donde tu quieras, pero tiene que tener permisos de lectura y el path debe verse reflejado en la configuracion (en mi ejemplo use /etc/certificados.crt). La otra opcion es simplemente olvidarse de los certificados y usar lo que engel lex te ha dicho.

Tambien puede ser que tu problema no tenga nada que ver con esto... pero no has puesto el error asi que esto es solo una conjetura.
En línea

dimitrix


Desconectado Desconectado

Mensajes: 4.847



Ver Perfil WWW
Re: PHP, Curl y facebook
« Respuesta #5 en: 5 Marzo 2015, 06:11 am »

Para Facebook eso usa mejor "Casper".

Igualmente.... si quieres hacerlo profesionalmente, hay unas cositas llamadas "API".

Mi consejo: Si de verdad quieres practicar, empieza por este foro y no por FB.
En línea




Zoik

Desconectado Desconectado

Mensajes: 91


Ver Perfil
Re: PHP, Curl y facebook
« Respuesta #6 en: 5 Marzo 2015, 06:57 am »

Muchas gracias por responder tan rápido cuando llegue a casa lo probaré todo y ya comento.

Un saludo.
En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: PHP, Curl y facebook
« Respuesta #7 en: 5 Marzo 2015, 14:20 pm »

Igualmente.... si quieres hacerlo profesionalmente, hay unas cositas llamadas "API".

Se pero tengo que registrarme, registrar mi app, descargar sdk, que facebook me siga..
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
CURL
PHP
OssoH 2 3,841 Último mensaje 12 Enero 2011, 09:11 am
por OssoH
curl && c++
Programación C/C++
darkvidhack 2 3,554 Último mensaje 14 Agosto 2011, 18:43 pm
por darkvidhack
Php, Curl y Facebook
PHP
xustyx 4 3,809 Último mensaje 29 Octubre 2011, 18:48 pm
por lnvisible
Hacer cURL en respuesta de cURL para posterior scraping.
PHP
goditozor 3 4,710 Último mensaje 1 Septiembre 2014, 20:32 pm
por WHK
llamada curl no funciona
Desarrollo Web
OssoH 4 3,230 Último mensaje 9 Diciembre 2020, 18:09 pm
por OssoH
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines