[Script PHP] Débugguage: Vérification URL
Résolu/Fermé
axel50397
Messages postés
113
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
17 mars 2014
-
5 janv. 2008 à 17:17
DJ-CooLGuetta Messages postés 33 Date d'inscription lundi 30 août 2010 Statut Membre Dernière intervention 9 octobre 2010 - 6 oct. 2010 à 11:54
DJ-CooLGuetta Messages postés 33 Date d'inscription lundi 30 août 2010 Statut Membre Dernière intervention 9 octobre 2010 - 6 oct. 2010 à 11:54
A voir également:
- [Script PHP] Débugguage: Vérification URL
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Ghost script - Télécharger - Polices de caractères
- Microsoft activation script - Accueil - Windows
- Script bat - Guide
9 réponses
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
5 janv. 2008 à 17:42
5 janv. 2008 à 17:42
salut,
il va falloir être un peu plus précis !
qu'as-tu fait jusqu'à présent et où est-ce que ça bloque ?
il faut que appelle la fonction depuis ton script :
puis que tu affiches ton résultat :
as-tu fait quelque chose de ce goût là ?
il va falloir être un peu plus précis !
qu'as-tu fait jusqu'à présent et où est-ce que ça bloque ?
il faut que appelle la fonction depuis ton script :
# // call the function # $http = link_check($url);
puis que tu affiches ton résultat :
# while(list($k,$value)=each($http)) { # if ($k=="code") echo "[".$k."]: ".$codes[$value]."<br>"; # else echo "[".$k."]: ".$value."<br>"; # }
as-tu fait quelque chose de ce goût là ?
axel50397
Messages postés
113
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
17 mars 2014
16
5 janv. 2008 à 17:56
5 janv. 2008 à 17:56
Bonsoir,
Oui, ligne 20 et 23... Sur le script Check_Url.php
Merci beaucoup !
Oui, ligne 20 et 23... Sur le script Check_Url.php
Merci beaucoup !
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
5 janv. 2008 à 18:09
5 janv. 2008 à 18:09
Merci beaucoup !
???
heu…
merci pour quoi ?
as-tu réussi ?
???
heu…
merci pour quoi ?
as-tu réussi ?
axel50397
Messages postés
113
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
17 mars 2014
16
>
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
5 janv. 2008 à 18:12
5 janv. 2008 à 18:12
Bah non, j'ai juste indiqué que j'avais déjà mis ce que tu m'a proposé...
Et merci de t'être quand même penché sur mon probleme...
C'est tout...
Et merci de t'être quand même penché sur mon probleme...
C'est tout...
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
5 janv. 2008 à 18:16
5 janv. 2008 à 18:16
a vi d'accord !!!
donc il nous reste le principal : ton problème !
peux-tu nous montrer ton code ?
car les deux fichiers que tu nous as montré ne suffisent pas, il faut que tu codes ta propre page puis que tu appelles la fonction depuis ta page.
donc il nous reste le principal : ton problème !
peux-tu nous montrer ton code ?
car les deux fichiers que tu nous as montré ne suffisent pas, il faut que tu codes ta propre page puis que tu appelles la fonction depuis ta page.
axel50397
Messages postés
113
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
17 mars 2014
16
5 janv. 2008 à 20:05
5 janv. 2008 à 20:05
Alors voila...
J'ai que 2 pages, une page qui contient les codes, et une page qui lance le script et qui le traite...:
<?php
///*
# check_url.php
# -------------
# argument: $url
#
# annex: "url_codes.php"
# this file allows a nice display of the returned http status code
# for more informations, have a look at the W3C site
# http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1
# This function performs the url check by:
# 1) opening a socket
# 2) sending a GET request (HEAD didn't work with some servers)
# 3) collecting data
# usage:
//
$url = "www.google.fr";
//
// call the function
$http = link_check($url);
##
// print the result
echo "<TABLE border='1' cellpadding=3 cellspacing=0>\n";
echo "<TR align='left' valign='top'><TD>\n";
echo "Current check: <b>".$url."</b>";
echo "</TD></TR>\n";
echo "<TR align='left' valign='top'><TD>\n";
while(list($k,$value)=each($http)) {
if ($k=="code") echo "[".$k."]: ".$codes[$value]."<br>";
else echo "[".$k."]: ".$value."<br>";
}
##
echo "</TD></TR>\n";
echo "<TR>\n";
echo "<TD align='left'>\n";
echo "More informations:<br><a
href=\"http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1\"
TARGET='_blank'> <small>Hypertext Transfer Protocol -- HTTP/1.1</a><br>";
echo "<a href=\"http://www.w3.org/\">World Wide Web Consortium
[W3C]</a></TD>\n";
echo "</TR>\n";
echo "</TABLE>\n";
//*/
require_once 'url_codes.php';
function link_check($url)
{
// timeout_limit can be set manually just below to control how long
// we want to wait for a header (software)
set_time_limit(60);
$timeout_limit = 10000;
$parts = parse_url($url);
// port 80 is the WWW port
// when there is no path the funtion returns an error (so we add a slash
// to the end of adresses like https://www.hotbot.com/ )
if(!$parts[port]) $parts[port] = 80;
if(!$parts[path]) $parts[path] = "/";
if($sockd = fsockopen($parts[host], 80, &$errno, &$errstr, 30))
{
set_socket_blocking($sockd, 1);
fputs($sockd, "GET ".$parts[path]." HTTP/1.0\n");
fputs($sockd, "Host: ".$parts["host"]."\n\n");
$timeout = 0;
while (!feof($sockd))
{
$line = fgets($sockd, 128);
$file .= $line;
if(substr($line,0,4)=="HTTP") {
$http["version"] = substr($line,5,3);
$http["code"] = substr($line,9,3);
$http["status"] = trim(substr($line,13));
// If we get a redirection code we don't close the socket
// and wait for a Location: header to come
if ($http["code"] <300 || $http["code"]> 400)
$timeout = $timeout_limit + 1;
} elseif (eregi("Content-Location",$line)) {
// Catch the location Header and close the socket
$http["location"] = substr($line,17);
$timeout = $timeout_limit + 1;
}
$timeout++;
}
fclose($sockd);
if (empty($http["location"])) $http["location"] = $url;
if (!is_array($http)) {
/* Handle the case where the check timed out or if
* the socket could not be opened
* 999 is arbitrary ...
*/
$http = array();
$http["code"] = 999;
} else {
/* Handle the case where the server gives a line like:
* HTTP 200 Document follows
* i.e without a version number
* HTTP/1.1 200 OK
*/
if ($http["code"] == 0 && $http["version"] == 200)
$http["code"] == 200;
}
return $http;
}
}
?>
---------
C'est un upgrade d'un des liens... J'ai décommenter l'appel de la fonction au dessus, et ajouter la valeur de $url...
Pour moi, ce qui est entre ## représente le retour de la fonction, et les mises à jour sont en gras au début...
J'ai éssayer sur 3 hebergeurs différents, j'ai pas vraiment de résultats, la fonction n'a même pas l'air de tourner...
3 sites de test:
http://virtualinfo.hostheberge.net/Statut_URL/urlcheck.php
http://virtualinfo.freehostia.com/urlcheck.php
http://virtualinfo.hyperphp.com/urlcheck.php
PS: Vous pouvez éditer directement les fichiers sur HyperPhp, ajouter des dossiers pour proposer vos idées et corriger la mienne...
http://virtualinfo.freehostia.com/yehe/
[Login: Test - Mdp - test]
Il suffit de cliquer sur un fichier, et d'enregistrer en cliquant sur la disquette en haut de la page...
Et je verrais les modifications...
Merci de ton aide...
J'ai que 2 pages, une page qui contient les codes, et une page qui lance le script et qui le traite...:
<?php
///*
# check_url.php
# -------------
# argument: $url
#
# annex: "url_codes.php"
# this file allows a nice display of the returned http status code
# for more informations, have a look at the W3C site
# http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1
# This function performs the url check by:
# 1) opening a socket
# 2) sending a GET request (HEAD didn't work with some servers)
# 3) collecting data
# usage:
//
$url = "www.google.fr";
//
// call the function
$http = link_check($url);
##
// print the result
echo "<TABLE border='1' cellpadding=3 cellspacing=0>\n";
echo "<TR align='left' valign='top'><TD>\n";
echo "Current check: <b>".$url."</b>";
echo "</TD></TR>\n";
echo "<TR align='left' valign='top'><TD>\n";
while(list($k,$value)=each($http)) {
if ($k=="code") echo "[".$k."]: ".$codes[$value]."<br>";
else echo "[".$k."]: ".$value."<br>";
}
##
echo "</TD></TR>\n";
echo "<TR>\n";
echo "<TD align='left'>\n";
echo "More informations:<br><a
href=\"http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1\"
TARGET='_blank'> <small>Hypertext Transfer Protocol -- HTTP/1.1</a><br>";
echo "<a href=\"http://www.w3.org/\">World Wide Web Consortium
[W3C]</a></TD>\n";
echo "</TR>\n";
echo "</TABLE>\n";
//*/
require_once 'url_codes.php';
function link_check($url)
{
// timeout_limit can be set manually just below to control how long
// we want to wait for a header (software)
set_time_limit(60);
$timeout_limit = 10000;
$parts = parse_url($url);
// port 80 is the WWW port
// when there is no path the funtion returns an error (so we add a slash
// to the end of adresses like https://www.hotbot.com/ )
if(!$parts[port]) $parts[port] = 80;
if(!$parts[path]) $parts[path] = "/";
if($sockd = fsockopen($parts[host], 80, &$errno, &$errstr, 30))
{
set_socket_blocking($sockd, 1);
fputs($sockd, "GET ".$parts[path]." HTTP/1.0\n");
fputs($sockd, "Host: ".$parts["host"]."\n\n");
$timeout = 0;
while (!feof($sockd))
{
$line = fgets($sockd, 128);
$file .= $line;
if(substr($line,0,4)=="HTTP") {
$http["version"] = substr($line,5,3);
$http["code"] = substr($line,9,3);
$http["status"] = trim(substr($line,13));
// If we get a redirection code we don't close the socket
// and wait for a Location: header to come
if ($http["code"] <300 || $http["code"]> 400)
$timeout = $timeout_limit + 1;
} elseif (eregi("Content-Location",$line)) {
// Catch the location Header and close the socket
$http["location"] = substr($line,17);
$timeout = $timeout_limit + 1;
}
$timeout++;
}
fclose($sockd);
if (empty($http["location"])) $http["location"] = $url;
if (!is_array($http)) {
/* Handle the case where the check timed out or if
* the socket could not be opened
* 999 is arbitrary ...
*/
$http = array();
$http["code"] = 999;
} else {
/* Handle the case where the server gives a line like:
* HTTP 200 Document follows
* i.e without a version number
* HTTP/1.1 200 OK
*/
if ($http["code"] == 0 && $http["version"] == 200)
$http["code"] == 200;
}
return $http;
}
}
?>
---------
C'est un upgrade d'un des liens... J'ai décommenter l'appel de la fonction au dessus, et ajouter la valeur de $url...
Pour moi, ce qui est entre ## représente le retour de la fonction, et les mises à jour sont en gras au début...
J'ai éssayer sur 3 hebergeurs différents, j'ai pas vraiment de résultats, la fonction n'a même pas l'air de tourner...
3 sites de test:
http://virtualinfo.hostheberge.net/Statut_URL/urlcheck.php
http://virtualinfo.freehostia.com/urlcheck.php
http://virtualinfo.hyperphp.com/urlcheck.php
PS: Vous pouvez éditer directement les fichiers sur HyperPhp, ajouter des dossiers pour proposer vos idées et corriger la mienne...
http://virtualinfo.freehostia.com/yehe/
[Login: Test - Mdp - test]
Il suffit de cliquer sur un fichier, et d'enregistrer en cliquant sur la disquette en haut de la page...
Et je verrais les modifications...
Merci de ton aide...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
6 janv. 2008 à 03:12
6 janv. 2008 à 03:12
salut,
désolé j'ai pas le temps d'explorer les fonctionnalités de ton éditeur.
j'ai testé et corrigé, voila une version en ligne et les sources.
c'est pas très pédagogique, mais bon…
j'ai surtout corrigé des erreurs de code (qui n'est pas des plus jolis…) et ajouter une condition pour gérer les adresses invalides.
si tu as des questions, n'hésite pas !
désolé j'ai pas le temps d'explorer les fonctionnalités de ton éditeur.
j'ai testé et corrigé, voila une version en ligne et les sources.
c'est pas très pédagogique, mais bon…
j'ai surtout corrigé des erreurs de code (qui n'est pas des plus jolis…) et ajouter une condition pour gérer les adresses invalides.
si tu as des questions, n'hésite pas !
axel50397
Messages postés
113
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
17 mars 2014
16
6 janv. 2008 à 13:16
6 janv. 2008 à 13:16
Heellooooo,
Wahou, ca marche \o/
Merci bcp ^^
Cette page m'aidera pour faire un check sur demande... Mais la question de base, était une page qui vérifie automatiquement 3 ou 4 adresses différentes et qui les retourne (juste le $code[XXX]) sur plusieurs cellules d'un tableau...
Le but étant de donner l'état de plusieurs miroirs sur la page principale...
Sinon, je peux essayer dans url_codes:
$url = array()
$url[miroir1] = url1
$url[miroir2] = url2
$url[miroir3] = url3
Ensuite je fais comment pour utiliser les données de ton index avec une page classique, un tableau simple avec 3 url...?
-----------------------------------------------------------------------------------
Miroir 1 | Emplacement Web du miroir | Barre de chargement |
-----------------------------------------------------------------------------------
A la fin du test qui durera quelques millisecondes (Je vais peut etre mettre un retard d'execution), la barre de chargement (non relative au temps de chargement restant) disparait pour laisser le résultat du test apparaitre...
Merci de ton aide Dalida =D
Wahou, ca marche \o/
Merci bcp ^^
Cette page m'aidera pour faire un check sur demande... Mais la question de base, était une page qui vérifie automatiquement 3 ou 4 adresses différentes et qui les retourne (juste le $code[XXX]) sur plusieurs cellules d'un tableau...
Le but étant de donner l'état de plusieurs miroirs sur la page principale...
Sinon, je peux essayer dans url_codes:
$url = array()
$url[miroir1] = url1
$url[miroir2] = url2
$url[miroir3] = url3
Ensuite je fais comment pour utiliser les données de ton index avec une page classique, un tableau simple avec 3 url...?
-----------------------------------------------------------------------------------
Miroir 1 | Emplacement Web du miroir | Barre de chargement |
-----------------------------------------------------------------------------------
A la fin du test qui durera quelques millisecondes (Je vais peut etre mettre un retard d'execution), la barre de chargement (non relative au temps de chargement restant) disparait pour laisser le résultat du test apparaitre...
Merci de ton aide Dalida =D
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
6 janv. 2008 à 13:28
6 janv. 2008 à 13:28
salut,
je comprends pas tout…
une page qui vérifie automatiquement 3 ou 4 adresses différentes et qui les retourne
et bien tu testes tes adresses l'une après l'autre…
effectivement, un tableau sera sans doute le mieux.
tu boucles dessus en appelant la fonction à chaque fois ou tu modifies la fonction pour qu'elle soit capable de traiter un tableau comme paramètre et qu'elle te renvoie un tableau de réponses.
Ensuite je fais comment pour utiliser les données de ton index avec une page classique, un tableau simple avec 3 url...?
tu intègres classiquement ton code php dans ta page html.
si la longueur de ton tableau est fixe il suffit d'écrire le tableau en html et de tester les valeurs avant de remplir les cellules.
si ta longueur du tableau est variable, une petite boucle sur le tableau de résultat pour afficher chaque ligne (en gros comme dans le script initial).
je comprends pas tout…
une page qui vérifie automatiquement 3 ou 4 adresses différentes et qui les retourne
et bien tu testes tes adresses l'une après l'autre…
effectivement, un tableau sera sans doute le mieux.
tu boucles dessus en appelant la fonction à chaque fois ou tu modifies la fonction pour qu'elle soit capable de traiter un tableau comme paramètre et qu'elle te renvoie un tableau de réponses.
Ensuite je fais comment pour utiliser les données de ton index avec une page classique, un tableau simple avec 3 url...?
tu intègres classiquement ton code php dans ta page html.
si la longueur de ton tableau est fixe il suffit d'écrire le tableau en html et de tester les valeurs avant de remplir les cellules.
si ta longueur du tableau est variable, une petite boucle sur le tableau de résultat pour afficher chaque ligne (en gros comme dans le script initial).
axel50397
Messages postés
113
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
17 mars 2014
16
24 avril 2008 à 22:46
24 avril 2008 à 22:46
Merci de ton aide, j'y suis finalement arrivé :)
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
>
axel50397
Messages postés
113
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
17 mars 2014
25 avril 2008 à 01:21
25 avril 2008 à 01:21
salut,
et comment as-tu fait ?
-;o)
et comment as-tu fait ?
-;o)
axel50397
Messages postés
113
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
17 mars 2014
16
25 avril 2008 à 13:00
25 avril 2008 à 13:00
Bonjour,
J'ai fais exactement ce que tu m'avais dit. Des boucles en masses, + une barre de chargement pour éviter de tout voir
Merci de ton aide !
J'ai fais exactement ce que tu m'avais dit. Des boucles en masses, + une barre de chargement pour éviter de tout voir
Merci de ton aide !
DJ-CooLGuetta
Messages postés
33
Date d'inscription
lundi 30 août 2010
Statut
Membre
Dernière intervention
9 octobre 2010
1
6 oct. 2010 à 11:54
6 oct. 2010 à 11:54
bonjours
je voie que se sujets est résolu et que il y a des personnes pouvant m'aider sur mon sujet serait il possible que vous y jetez un coup d'oeil
https://forums.commentcamarche.net/forum/affich-19399609-souci-php-page-login#p19399609
merci d'avance
je voie que se sujets est résolu et que il y a des personnes pouvant m'aider sur mon sujet serait il possible que vous y jetez un coup d'oeil
https://forums.commentcamarche.net/forum/affich-19399609-souci-php-page-login#p19399609
merci d'avance