Class lwphp de connexion http

Soyez le premier à donner votre avis sur cette source.

Vue 3 350 fois - Téléchargée 310 fois

Description

La class LWPHP permet de récupérer le code source d'une page html via le protocole HTTP. Elle permet aussi de vérifier le code erreur de la page à laquelle vous souhaitez accéder ainsi que de récupérer la totalité des headers http renvoyés par le serveur hébergeant la page.

Une petite documentation et un générateur de code source (pour les faignant comme moi ;) sont aussi dans le .zip.

Conclusion :


Je tiens à m'excuser pour les connaisseurs du langage PERL. Je n'ai pas la prétention de réaliser l'ensemble des fonctions que peuvent faire la librairie LWP.

Les mises à jours seront disponnible au fur et à mesure de vos commentaires.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_str
Messages postés
20
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
11 mai 2007

11 mai 2007 à 19:36
Salut,

C'est un problème sur la ligne 32 du script.

Il faut la remplacer par :

preg_match_all("|http://([^<]+)/|Ui", $this->site, $retour);

Noter le "U" qui a été ajouté et qui devrait résoudre le problème.

Désolé du retard, ça faisait très longtemps que je n'avais plus utilisé ce service.

Je mettrais à jour le script un peu plus tard avec la correction.

A bientôt,

StR
cs_caviar
Messages postés
329
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
29 mars 2015
2
25 avril 2007 à 11:05
Re ...
bon j'ai développé un script en me servant de ta source mais j'ai un problème de taille ...certaines pages ne sont pas accessibles

par exemple si je choisis
http://www.lemonde.fr/web/article/0,1-0@2-823448,36-901333@51-901327,0.html
ou même des url plus simples style
http://www.monsite.fr/rubrique/rubrique2/page.php

pour l'adresse de la page ... ben je me retrouve avec des erreurs du type

Warning: fsockopen(): php_network_getaddresses: gethostbyname failed in c:\web\scripts_vrac\moteur de recherche\phpcs_class-lwphp-connexion-http_13383\class_lwphp.php on line 97

Warning: fsockopen(): unable to connect to http://www.lemonde.fr/web/article/0,1-0@2-823448,36-901333@51-901327,0.html:80 in c:\web\scripts_vrac\moteur de recherche\phpcs_class-lwphp-connexion-http_13383\class_lwphp.php on line 97
Erreur lors de l'accès à la ressource web :0 (Opération réussie. )

j'ai vu que dans ta class tu passais uniquement le nom du domaine en paramètre ligne 97
$fp = fsockopen ($this->domaine, $this->port, $errno, $errstr, $this->timeout);

en changeant par
$fp = fsockopen ($this->site, $this->port, $errno, $errstr, $this->timeout);

ça passe l'url complète de la page désirée... mais ça ne change rien aux erreurs ;( ...
bref je suis un peu emmerdé là ...
Vous avez une idée ?

merci
@+
cs_caviar
Messages postés
329
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
29 mars 2015
2
24 avril 2007 à 12:36
yop...
en remplaçant la ligne 32 par
if (isset($retour[1][0])){

ça marche
et j'ai aussi du ajouter

function connection()
{
$reponse = '';

pour éviter d'avoir aussi une erreur...

@+
cs_caviar
Messages postés
329
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
29 mars 2015
2
24 avril 2007 à 12:31
salut ... ta source semble intéréssante mais ça génère une erreur en utilisant les exemples de la doc :(
Notice: Undefined variable: reponse in c:\web\scripts_vrac\phpcs_class-lwphp-connexion-http_13383\class_lwphp.php on line 113

Notice: Undefined variable: sortie in c:\web\scripts_vrac\phpcs_class-lwphp-connexion-http_13383\test.php on line 11

en utilisant ton générateur de code ça marche un peu mieux mais j'ai toujours des erreurs
Notice: Undefined offset: 0 in c:\web\scripts_vrac\phpcs_class-lwphp-connexion-http_13383\class_lwphp.php on line 32

:(
mathieumg
Messages postés
558
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
18 février 2006

8 août 2004 à 19:38
Oui j'ai réalisé cela après de longues heures d'essaye :)

Maintenance ça marche et tout de même merci de ta réponse rapide :)

Mathieu M-G
mathieumg@qc-net.com
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.