Como saber sí una página está disponible o es real?

Iniciado por jdc, 8 Enero 2010, 16:47 PM

0 Miembros y 3 Visitantes están viendo este tema.

jdc

Hay alguna forma en php de ver sí una página está enlínea o es real por medio de un ping o similar?

Osea necesito saber sí www.elhacker.net está disponible, como sería?

luiggy2

Código (php) [Seleccionar]

function ping3 ($ping)
{
$comm = "ping -c3 ".$ping;
$output=shell_exec($comm);
echo $output;
}

ping3 ("www.dominio.com");
?>


Fuente: http://www.nociondigital.com/webmasters/php-tutorial-haciendo-ping-desde-php-detalle-208.html

Lo malo es que no todos los servidores te van a dfejar usarlo.


Saludos!
" Las grandes ideas suelen salir la mayoría de veces de grandes estupideces "

el-brujo

pues te conectas a esa web y si el servidor web devuelve un code 200 (response code) es que está todo correcto.

дٳŦ٭

Pues una cosa es que sea real y otra que exista.. dependiendo el requerimiento es la solución, si necesitas ver si está online u off abriendo un socket y ver el header te das cuenta, si necesitas ver si está disponible para registro, te toca hacerle un whois.

Saludos


Con sangre andaluza :)


jdc

Cita de: дٳŦ٭ en  8 Enero 2010, 18:58 PM
Pues una cosa es que sea real y otra que exista.. dependiendo el requerimiento es la solución, si necesitas ver si está online u off abriendo un socket y ver el header te das cuenta, si necesitas ver si está disponible para registro, te toca hacerle un whois.

Saludos

nop, no quiero ver nada para registro ni mucho menos, necesito saber si una direccion ingresada es valida por ejemplo smf toma como direccion tanto www.google.com como www.paginaquenuncaensuvidaaexistido.com ambos son links pero no son valido los 2 no? como puedo saber si un link es valido o no?


Cita de: luiggy2 en  8 Enero 2010, 17:02 PM
Código (php) [Seleccionar]

function ping3 ($ping)
{
$comm = "ping -c3 ".$ping;
$output=shell_exec($comm);
echo $output;
}

ping3 ("www.dominio.com");
?>


Fuente: http://www.nociondigital.com/webmasters/php-tutorial-haciendo-ping-desde-php-detalle-208.html

Lo malo es que no todos los servidores te van a dfejar usarlo.


Saludos!

Necesitaria algo que sea mas generico, osea que no dependa de que alguno o que otro servidor lo acepte :) pero gracias, esta interesante aunque en wamp no funciona xD

Cita de: el-brujo en  8 Enero 2010, 17:05 PM
pues te conectas a esa web y si el servidor web devuelve un code 200 (response code) es que está todo correcto.

Y como seria eso mas o menos en php?

el-brujo

Cita de: el-pollo link=topic=280520.msg1381666#msg1381666

quote author=el-brujo link=topic=280520.msg1381561#msg1381561 date=1262966701]
pues te conectas a esa web y si el servidor web devuelve un code 200 (response code) es que está todo correcto.

Y como seria eso mas o menos en php?
[/quote]

Con cURL


Código (php) [Seleccionar]
function get_web_page( $url )
{
$options = array(
CURLOPT_RETURNTRANSFER => true,     // return web page
CURLOPT_HEADER         => false,    // don't return headers
CURLOPT_FOLLOWLOCATION => true,     // follow redirects
CURLOPT_ENCODING       => "",       // handle compressed
CURLOPT_USERAGENT      => "spider", // who am i
CURLOPT_AUTOREFERER    => true,     // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect
CURLOPT_TIMEOUT        => 120,      // timeout on response
CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects
);

$ch      = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err     = curl_errno( $ch );
$errmsg  = curl_error( $ch );
$header  = curl_getinfo( $ch );
curl_close( $ch );

$header['errno']   = $err;
$header['errmsg']  = $errmsg;
$header['content'] = $content;
return $header;
}



http://nadeausoftware.com/articles/2007/06/php_tip_how_get_web_page_using_curl



Código (php) [Seleccionar]

<?php

// Function to check response time
function pingDomain($domain){
    
$starttime microtime(true);
    
$file      fsockopen ($domain80$errno$errstr10);
    
$stoptime  microtime(true);
    
$status    0;

    if (!
$file$status = -1;  // Site is down
    
else {
        
fclose($file);
        
$status = ($stoptime $starttime) * 1000;
        
$status floor($status);
    }
    return 
$status;
}
?>


Más:


Check website status using php and CURL library
http://php.assistprogramming.com/check-website-status-using-php-and-curl-library.html

Busca por "check website status php" y encontrarás más cosa.

jdc

Perdon por la ignorancia pero mi nivel de php es muy basico. Como funcionan las funciones que posteaste brujo? las probe ambas en wamp y no me funciono ninguna de las 2,

Un saludo y gracias

AlbertoBSD

Ocupas tener CURL instalado y tal vez una extensión para que el PHP pueda usarlo xD...

XAMP es de windows no??

Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

~ Yoya ~

Ps si usas xampp para window o lampp para linux tienes que activarlo editanto el php.ini, por defecto viene off.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

jdc

Uso wamp... Que se agrega o edita en php.ini? No se puede activar desde .htaccess?