Foros del Web » Programando para Internet » PHP »

Obtener sitioweb mediante Curl / métodos HTTP

Estas en el tema de Obtener sitioweb mediante Curl / métodos HTTP en el foro de PHP en Foros del Web. Hola amigos que tal. Estoy basando mi duda en el siguiente concepto que todos sabemos: Cita: - Un sitio web al que accedemos normalmente llenando ...
  #1 (permalink)  
Antiguo 08/11/2011, 22:49
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 1 mes
Puntos: 188
Obtener sitioweb mediante Curl / métodos HTTP

Hola amigos que tal.

Estoy basando mi duda en el siguiente concepto que todos sabemos:

Cita:
- Un sitio web al que accedemos normalmente llenando un user y pass, puede ser obtenido de igual manera con curl "normalmente mediante POST"
Llegando a eso; ¿cómo se obtiene la página web resultado de un login de ésta manera usando curl?:




Necesito crear un script para conectarme/desconectarme de internet.

Hay una solución más cómoda utilizando la consola y unos comandos pero no se batch y nadie me ha respondido. La duda la he posteado aquí por si puedes ayudarme.

Cualquier ayuda estaré muy agradecido.
Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #2 (permalink)  
Antiguo 09/11/2011, 05:40
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Obtener sitioweb mediante Curl / métodos HTTP

En ese caso, puedes usar CURLOPT_USERPWD, algo así
Código PHP:
Ver original
  1. $cookieFile = $_SERVER['DOCUMENT_ROOT'] . "/cookie.txt";
  2. file_put_contents($cookieFile, '');
  3. $url = "http://example.com/";
  4. $ch = curl_init();
  5. curl_setopt($ch, CURLOPT_URL,$url);
  6. curl_setopt($ch, CURLOPT_USERPWD, "user:pass");
  7. curl_setopt($ch, CURLOPT_HEADER, 0);
  8. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);
  9. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);
  10. curl_setopt($ch, CURLOPT_HEADER, 1);
  11. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  12. $page = curl_exec($ch);
  13. curl_close ($ch);
  14. echo $page;
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 09/11/2011, 08:21
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 1 mes
Puntos: 188
Respuesta: Obtener sitioweb mediante Curl / métodos HTTP

Oh. Muchas gracias Abimaelrc. Te dejo mi Karma (no he dado karma como en 1 1/2 meses) hahaha haber si te viene bien a tí =D

Te mando un saludo y gracias.

Otra solución que encontré hace unos minutos fue usando CURLOPT_HTTPAUTH y el script lo construí de la siguiente manera; la dejo para futuras referencias.

AUTENTIFICACIÓN HTTP

Código PHP:
Ver original
  1. $recurso = "http://Algo.etc";
  2.  
  3. $curl = curl_init();
  4. curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC ) ; //Autentificación básica
  5. curl_setopt($curl, CURLOPT_USERPWD, "user:pass");
  6. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  7. curl_setopt($curl, CURLOPT_URL, $recurso);
  8.  
  9. $data = curl_exec($curl);
  10. curl_close($curl);

Eso fue todo y funciona bien,. Un saludo y gracias
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #4 (permalink)  
Antiguo 16/03/2012, 23:24
 
Fecha de Ingreso: septiembre-2010
Mensajes: 8
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Obtener sitioweb mediante Curl / métodos HTTP

hola he estado toda la semana buscando como puedo configurar el crul para cargar una pagina web. Pero que para acceder a ella es atraves de un poxy con usuario y contraseña. y lo peculiar de esto seria que tomra esos datos de las sesiones activas en el nabegador.
por favor nececito la ayuda de esta comunidad

Etiquetas: curl, mediante, sitioweb, https
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:16.