Récupérer du code html pour le traiter

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


xdeslandes
WRInaute impliqué
WRInaute impliqué
 
Messages: 314
Inscription: Mer Déc 29, 2004 20:17

Récupérer du code html pour le traiter

Message le Mer Jan 18, 2006 9:19

Bonjour,
j'utilise les services (excellents) de lesms.com pour une application qui envoie un sms différé. Cela fonctionne bien.
Le principe c'est qu'il faut faire appel à une page de lesms.com, et c'est elle qui envoie le sms, puis elle retourne une page contenant un numéro (un code indiquant le résultat de l'action).
Le problème est que ce code est envoyé au navigateur de l'utilisateur, qui n'en a rien à faire !
Question : comment récupérer le code html généré par la page de lesms.com, le dépouiller des balises inutiles, et récupérer le code émis, le tout sans que l'utilisateur ne s'en aperçoive...?


mr_go
WRInaute accro
WRInaute accro
 
Messages: 1945
Inscription: Mer Sep 21, 2005 16:02

Message le Mer Jan 18, 2006 11:28

^^
heu... si on ne t'offre pas la possibilité de le faire sur le site : bon courage!


effisk
WRInaute passionné
WRInaute passionné
 
Messages: 612
Inscription: Ven Juin 18, 2004 14:26

Message le Mer Jan 18, 2006 14:30

un parseur en JS ou un truc comme ça. Mais c'est un peu de boulot.


MarvinLeRouge
WRInaute impliqué
WRInaute impliqué
 
Messages: 451
Inscription: Mer Sep 01, 2004 20:10

Message le Mer Jan 18, 2006 14:34

Salut,

Ton problème semble indiquer que ta page soumet directement les données au site fournisseur de service.
Solution simple : tu soumets le formulaire à ton site, ton script fait une requète à ton fournisseur de service, et tu informes (éventuellement) l'utilisateur du résultat.


xdeslandes
WRInaute impliqué
WRInaute impliqué
 
Messages: 314
Inscription: Mer Déc 29, 2004 20:17

Message le Mer Jan 18, 2006 15:55

@MarvinLeRouge : c'est déjà le cas. Dans un script de mon appli, il y a:
Code: Tout sélectionner
$params = "email=xxxxx&pass=xxxxx&numero=xxxxx&message=ceci est un essai";

header("Location: http://www.leSMS.com/http.php?".$params);

Seulement, la page appelée me renvoie
Code: Tout sélectionner
<html><head>blabla</head>
<body>80</body></html>

Il faudrait effectivement parser le code html renvoyé pour récupérer la chaine "80" et la traiter en fonction du résultat.
Le prob, c'est que cette page est envoyée sur le navigateur de celui qui à déclenché le script php.
Il faudrait qu'un WRInaute ait déjà utilisé les services de lesms.com (ils ne disent presque rien sur le site rapport aux développeurs)
Et Google : comment peut-il scanner un site (il fait bien des requêtes http) sans ouvrir les pages visitées ?
Merci à vous...
Dernière édition par xdeslandes le Ven Jan 20, 2006 14:17, édité 2 fois.


xdeslandes
WRInaute impliqué
WRInaute impliqué
 
Messages: 314
Inscription: Mer Déc 29, 2004 20:17

Message le Ven Jan 20, 2006 12:05

Je viens de regarder : en fait, la page renvoie uniquement le code ("80" par exemple) sans balise html (ni head, ni html, ni body, d'après le code source affiché par le navigateur).

J'ai essayé un autre truc :
Code: Tout sélectionner
$url_lesms = "http://www.lesms.com/http.php?".$params;
$handle = fopen ($url_lesms, 'r');
$code_retourne = fread($handle, filesize ($url_lesms));
fclose($handle);

Mais visiblement, le fait d'ouvrir le fichier ne déclenche pas le script. Qu'en pensez-vous ?
Je me pose la question : ma requete est-elle la bonne ? Faut-il faire un header Location ?


mowmow
WRInaute passionné
WRInaute passionné
 
Messages: 975
Inscription: Mer Nov 03, 2004 9:40

Message le Ven Jan 20, 2006 17:00

Essaie avec les fonctions cURL, ca gère tous les types de requêtes mieux que fopen


xdeslandes
WRInaute impliqué
WRInaute impliqué
 
Messages: 314
Inscription: Mer Déc 29, 2004 20:17

Message le Jeu Fév 16, 2006 22:54

Excuse-moi mowmow : je n'ai pas eu le temps de te répondre :oops:
C'est quoi les fonctions cURL ?
Je pensais utiliser un readfile(); mais cette fonction renvoie le r"éésultat au navigateur, ce que je veux éviter.


fandecine
Modérateur
Modérateur
 
Messages: 1640
Inscription: Sam Avr 02, 2005 14:58

Message le Jeu Fév 16, 2006 23:18

bonjour,

CURL est une librairie PHP trés puissante en particulier pour interroger un serveur et cela sous plusieurs protocoles (http, https, ftp, telnet, ghoper etc...).

par exemple pour plus d'info http://fr2.php.net/curl (c'est en français!)


xdeslandes
WRInaute impliqué
WRInaute impliqué
 
Messages: 314
Inscription: Mer Déc 29, 2004 20:17

Message le Ven Fév 17, 2006 0:14

Merci fandecine.
Hum, installer un paquetage php... Je ne sais pas si je peux le faire sur mon serveur. Il semble que la solution soit plus simple, non ? Je rappelle ce dont j'ai besoin :
Lorsque je fait une requète http vers un serveur distant (via header dans mon script), ce dernier renvoie au navigateur le résultat (un code à deux chiffres, c'est tout !).
J'aimerais récupérer ces deux chiffres, sans qu'ils soient envoyés au navigateur.
D'après lesms.com, les autres développeurs font cela assez facilement (évidemment, ils ne disent pas comment faire !)
fopen ? readfile ? file_get_content ?


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Code



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités