IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Cookies] fopen d'une url ayant besoin d'une session


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 30
    Points : 28
    Points
    28
    Par défaut [Cookies] fopen d'une url ayant besoin d'une session
    Bonjour,
    je cherche actuellement a faire un foprn sur une page. Les données que je recherche sont accessible en remplissant le champs d'une session sur une autre page. Deux des solutions que j'ai testé mais qui ne fonctionnent pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
       $proxy_name = 'X.xx.xx.x';
       $proxy_port = 80;
       $proxy_cont1 = '';
       $proxy_cont2 = '';
       $proxy_cont = '';
     
       $proxy_fp = fsockopen($proxy_name, $proxy_port);
       if (!$proxy_fp)    {return false;}
     
       fputs($proxy_fp, "GET http://page_remplissant_la_session HTTP/1.0\r\nHost: $proxy_name\r\nContent-Length: 4096\r\nConnection: keep-alive\r\n\r\n");
       while(!feof($proxy_fp)) {$proxy_cont .= fread($proxy_fp,4096);}
     
       fputs($proxy_fp, "GET http://page_verifaint _la_session HTTP/1.0\r\nHost: $proxy_name\r\nContent-Length: 4096\r\nConnection: keep-alive\r\n\r\n");
       while(!feof($proxy_fp)) {$proxy_cont1 .= fread($proxy_fp,4096);}
     
       fputs($proxy_fp, "GET http://page_que_je_veux_attiendre HTTP/1.0\r\nHost: $proxy_name\r\nContent-Length: 4096\r\nConnection: close\r\n\r\n");
       while(!feof($proxy_fp)) {$proxy_cont2 .= fread($proxy_fp,4096);}
     
       fclose($proxy_fp);
     
       $proxy_cont2 = substr($proxy_cont2, strpos($proxy_cont2,"\r\n\r\n")+4);  
       echo $proxy_cont2;
    Ceci fait la première requete sans jamais executé les autres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
       $proxy_name = 'x.x.x.x';
       $proxy_port = 80;
       $proxy_cont1 = '';
       $proxy_cont2 = '';
       $proxy_cont = '';
     
       $proxy_fp = fsockopen($proxy_name, $proxy_port);
       if (!$proxy_fp)    {return false;}
     
       fputs($proxy_fp, "GET http://rempli_la_session HTTP/1.0\r\nHost: $proxy_name\r\n\r\n");
       while(!feof($proxy_fp)) {$proxy_cont .= fread($proxy_fp,4096);}
     
       $proxy_fp2 = fsockopen($proxy_name, $proxy_port);
       if (!$proxy_fp2)    {return false;}
     
       fputs($proxy_fp2, "GET http://control HTTP/1.0\r\nHost: $proxy_name\r\n\r\n");
       while(!feof($proxy_fp2)) {$proxy_cont1 .= fread($proxy_fp2,4096);}
     
       $proxy_fp3 = fsockopen($proxy_name, $proxy_port);
       if (!$proxy_fp3)    {return false;}
     
       fputs($proxy_fp3, "GET http://atteindre HTTP/1.0\r\nHost: $proxy_name\r\n\r\n");
       while(!feof($proxy_fp3)) {$proxy_cont2 .= fread($proxy_fp3,4096);}
     
     
       fclose($proxy_fp);
       fclose($proxy_fp2);
       fclose($proxy_fp3);
     
       $proxy_cont2 = substr($proxy_cont2, strpos($proxy_cont2,"\r\n\r\n")+4);  
       echo $proxy_cont2;
    J'atteinds ma page mais la session n'est pas rempli Je suppose que ça vient de la rupture des sockets.

    Pouvez-vous m'aider ?

  2. #2
    Membre confirmé Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Points : 540
    Points
    540
    Par défaut
    Je me demande si ça ne viens pas du systeme de session tout simplement. Pour stocker les variable de session, il y a 2 maniières utilisés par les navigateurs.
    1 => Stocker les cookies en local, ce que la commande fsockopen ne fait pas.
    2 => Il transforme les url pour y ajouter un truc du genre PHPSESSID=132abc1231d321e321f32b1a3, ce que je suppose que tu ne fait pas dans ton code.

    La solution serait de choper le numéro de session que te renvoie http://page_remplissant_la_session et la rajouter à la page http://page_verifaint_la_session de cette manière:

    http://page_verifaint_la_session?PHP...321e321f32b1a3

    Après c'est juste une idée, je ne sais pas si ça viens de là ou pas et si la variable s'appelle bien PHPSESSID, mais c'est à creuser

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/08/2013, 14h38
  2. Classes ayant besoin l'une de l'autre et #include
    Par theanthony33 dans le forum C++
    Réponses: 4
    Dernier message: 22/02/2009, 14h15
  3. Réponses: 4
    Dernier message: 02/09/2008, 17h55
  4. [HTML] Passer une Url en paramètre d'une url
    Par Tyler Durden dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/11/2006, 09h08
  5. [URL] Comment savoir si une URL existe?
    Par jse dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 07/10/2004, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo