Page 1 sur 1
recherched'url existante ou non
Posté : 20 déc. 2005, 20:44
par marilou
Bonjour, voila j'aimerais savoir de quel façon on pouvais tester un nom de domaine à l'aide de php. J'ais recherché sur google sans résultat. Si quelqu'un peut m'aiguiller ou me renseigner?
Merci
Posté : 20 déc. 2005, 21:16
par GillouX
tu lui demande l'url
tu le redirige dessus
si erreur 404 , c'est que le domaine existe pas

Posté : 20 déc. 2005, 21:19
par marilou
J'aimerais creer une fonction de type :
$url = $_POST['url'];
Teste de $url
si $url existe $test=1 sinon $test=0
Merci
Posté : 20 déc. 2005, 22:06
par GillouX
ouais il faudrait une fct en php du genre du ping de dos
il teste si le site répond mais je sais pas si ca exsite en php
Posté : 20 déc. 2005, 22:14
par jeff
si tu peut le faire grace au socket
recherche sur le forum il y a un code tres bien qui a été fait par rami ou ripat
Posté : 20 déc. 2005, 23:46
par marilou
Ok merci je me suis renseigné sur le socket et j'ais trouvé quelques tuto mais j'arrive à chaque fois sur la même erreur :
Code : Tout sélectionner
Warning: fsockopen(): php_network_getaddresses: gethostbyname failed in c:\program files\easyphp1-7\www\mon-club\hebergement.php on line 56
Warning: fsockopen(): unable to connect to www.occasion-ne.com:80 in c:\program files\easyphp1-7\www\mon-club\hebergement.php on line 56
Voici le code :
<?php
$fp = fsockopen("www.occasion-ne.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
Lorsque que le site n'est pas accessible j'aimerais ne récupérer qu'un "0"
Posté : 20 déc. 2005, 23:54
par alexbad
J'ai cherché :
php tester url sur

, premier résultat:
http://www.phpindex.com/trucsetastuces/ ... element=55
Ça a l'air de convenir à ce que tu veux faire non?
Posté : 21 déc. 2005, 00:23
par GillouX
si tu installais déja la dernière version d'easy-php pour être déja à jour à ce niveau
de plus, l'utilisation de cette fonction ne demande pas l'ajout d'une extension php en plus ?? (configuration/extensions PHP)
Posté : 21 déc. 2005, 00:25
par jeff
voici le code que j'ai trouver sur le forum
function monTestPage($site, $page, $timeout = 10){
list($usec, $sec) = explode(" ", microtime());
$t0 = ((float)$usec + (float)$sec);
$fp = fsockopen($site, 80, $errno, $errstr, $timeout);
if (!$fp) {
$return= false;
} else {
$return['serveur'] = 'Connexion serveur OK';
$header = "GET $page HTTP/1.1\r\n";
$header .= "Host: $site\r\n";
$header .= "Connection: Close\r\n\r\n";
fputs($fp, $header);
stream_set_timeout($fp, $timeout);
$reponse = fgets($fp, 128);
list($usec, $sec) = explode(" ", microtime());
$t1 = ((float)$usec + (float)$sec);
$info = stream_get_meta_data($fp);
if ($info['timed_out']) {
$return['msg'] = "Le délai de réponse de la page ".$site.$page.
' a dépassé le timout de '.$timeout.' sec.';
}else{
$return['reponsePage'] = $reponse;
$return['tempsReponse'] = $t1 - $t0;
}
fclose($fp);
}
return $return;
}
Posté : 21 déc. 2005, 00:31
par alexbad
si tu installais déja la dernière version d'easy-php pour être déja à jour à ce niveau
C'est à moi que tu parles? admettons que oui... Je suis bien désolé cher amis mais il y'a difficilement plus à jour que moi en matière de serveur: Apache 2.0.55, mysql 5.0, php... et en plus, quel est le rapport?
Extension supplémentaires? non, pas du tout, c'est une fonction créer par un gentil programmeur, toute simple. J'ai moi-même testé la fonction, elle fonctionne super bien.
Posté : 21 déc. 2005, 01:47
par Truc
si tu installais déja la dernière version d'easy-php pour être déja à jour à ce niveau
C'est à moi que tu parles? admettons que oui...
Je ne pense pas que
GillouX s'adressait à toi mais à marilou
Warning: fsockopen(): php_network_getaddresses: gethostbyname failed in c:\program files\easyphp1-7\www\mon-club\hebergement.php on line 56
Pas la peine d'étaler tout ton matériel et avant qu'il n'y ait quiproquo

Posté : 21 déc. 2005, 09:51
par pjl
Posté : 21 déc. 2005, 10:09
par Min's
ouais il faudrait une fct en php du genre du ping de dos
il teste si le site répond mais je sais pas si ca exsite en php
nan... Pour peu que le serveur ait un firewall qui refuse de base l'ICMP, il ne répondra pas le ping...

Posté : 21 déc. 2005, 10:24
par GillouX
ouais il faudrait une fct en php du genre du ping de dos
il teste si le site répond mais je sais pas si ca exsite en php
nan... Pour peu que le serveur ait un firewall qui refuse de base l'ICMP, il ne répondra pas le ping...

ok ok , je proposais juste, je début en php alors je ne connais pas toutes ses poss

Posté : 21 déc. 2005, 10:32
par Min's
ouais il faudrait une fct en php du genre du ping de dos
il teste si le site répond mais je sais pas si ca exsite en php
nan... Pour peu que le serveur ait un firewall qui refuse de base l'ICMP, il ne répondra pas le ping...

ok ok , je proposais juste, je début en php alors je ne connais pas toutes ses poss

Pas de soucis... MAis ca n'a rien a voir avec le PHP... même sous DOS, tu fais un ping
http://www.p-o.be il ne te répondra rien et si tu le fais dans un navigateur tu auras le site correspondant...

Donc oui, c'était une idée, mais elle est directement coupée du à l'ICMP qui en fait est le protocole utilisé pour les ping
