recupérer le contenu d'une page dans une session [PHP] - PHP - Programmation
Marsh Posté le 05-03-2005 à 13:52:33
En effet je pense que la meilleure solution serais l'utilisation d'un socket afin "d'imiter" un browser.
Donc tu fais un fsockopen sur l'adresse du server et sur le port 80.
Ensuite sur le handle ainsi obtenu tu ecris dedans pour envoyer des requetes, puis tu lis pour savoir ce qui reviens.
Il faut que tu te doccumente sur le protocole http ou si tu es plus feignasse, alors analyse les headers envoyes par le navigateur.
Je ne sais pas si Ethereal te sera utile. En effet ce dernier examine les packets. Mais dans ton cas tu n'as pas besoin de descendre aussi "bas".
Le protocole http n'est pas complique, il te suffit juste de savoir qu'elle string envoyer au serveur pour obtenir la page que tu veux.
Marsh Posté le 05-03-2005 à 13:58:00
tu peux egalement utiliser curl...
www.php.net/curl
Marsh Posté le 07-03-2005 à 14:43:04
j'arrive à avoir la page d'identification, mais lorsque je cherche a envoyer les données de mon form avec post j'obtiens une belle erreur 500 ...
voici mon script, est ce qu'il vous parait ok ?
|
a l'execution j'obtiens :
HTTP/1.1 200 OK Content-Type: text/html;charset=ISO-8859-1 Set-Cookie: JSESSIONID=DA998EE9D49E86DECCD9DB79DE31FC45; Path=/ Set-Cookie: language=fr; Expires=Thu, 01-Feb-2063 21:11:28 GMT; Path=/ Transfer-Encoding: chunked Date: Mon, 07 Mar 2005 13:34:56 GMT Server: Apache Coyote/1.0 1d6a
puis
0
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
Merci encore
Marsh Posté le 07-03-2005 à 15:47:56
J'ai quand meme utiliser ethereal pour voir ce qui passait et recoder ma requete de cette façon :
|
mais c'est encore pire j'obtiens : HTTP/1.1 505 Version HTTP Non Supportée : ???
Marsh Posté le 14-03-2005 à 14:15:32
bon y a pas foule....
la création de la requête vous parait elle correcte au moins ? (n'y a t'il pas de taille limite ou autre à respecter ?)
Merci
Marsh Posté le 14-03-2005 à 15:38:43
j'ai peut-être pas compris, mais un simple test à la suite de l'identification et un header(location..) pour la redirection, ça le ferait pas? Et pour la apge accessible seulement si identification ok, ben en début de page, on teste si la session existe...
Marsh Posté le 14-03-2005 à 15:52:42
rufo a écrit : j'ai peut-être pas compris |
je crois aussi
sinon pour kayasax : j'y connais pas grand chose en protocole http mais t'as testé avec HTTP/1.0 ?
Marsh Posté le 05-03-2005 à 12:18:23
Bonjour,
je cherche à récupérer le contenu d'une page, qui n'est accessible qu'apres avoir ouvert préalablement une session.
voila comment ca marche
1) page d'identification, si identification ok ouverture d'une session
2) page A = page sur laquelle je suis redirigé après avoir ouvert ma session
3) page B = page sur laquelle se trouve les infos qui m'interessent, ne peut pas être accédée directement (si on a pas ouvert une session)
je pense qu'il faut que j'utilise les sockets pour faire communiquer mon script php avec le serv distant mais à part ça je vois pas trop par ou commencer... analyser ce qui passe entre le client et le serveur avec ethereal et essayer de reproduire la communication avec php ??
si vous avez des idées ou des tutaux là dessus ça m'interesse
Merci