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 :wink:

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 :google:, 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 :wink:

Posté : 21 déc. 2005, 09:51
par pjl
Un script tout simple de naholyr :
http://www.nexen.net/scripts/details.php?scripts=41

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 :wink:

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 :wink:
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 :)