Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1024 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Ouvrir/conserver une session HTTP ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ouvrir/conserver une session HTTP ?

n°871735
Gonzoide
Les cochons... dans l'espâââce
Posté le 12-10-2004 à 17:59:52  profilanswer
 

J'aimerais utiliser Java pour interagir sur un forum genre HFR ... je connais rien a la maniere dont les sessions sont gerees (en general) pour ce genre de truc : imaginons que je me connecte a l'url d'identification pour envoyer mon user/password, j'imagine que le maintien de mon identite se passe soit par cookie, soit par une session cote server ? Y'a d'autres moyens ?
 
Si c'est par des cookies, j'imagine qu'il y a moyen de s'en tirer facilement. Mais si c'est par une session, comment ca se passe pour "maintenir" la session d'une requete HTTP a la suivante, en Java ? Avec un sessionId ? En creant un HttpURLConnection et en tapant uniquement dedans ?
 
PS : c'est des questions d'ordre general, pas lie a un forum en particulier mais j'imagine qu'il n'y a pas 500 manieres de faire :??:


Message édité par Gonzoide le 12-10-2004 à 18:02:29
mood
Publicité
Posté le 12-10-2004 à 17:59:52  profilanswer
 

n°871741
julienv
Posté le 12-10-2004 à 18:11:20  profilanswer
 

autant pour moi, tu veux faire l'inverse, i.e te connecter par HTTP sur un server et ensuite maintenir ton identite ?


Message édité par julienv le 12-10-2004 à 18:12:39
n°871745
the real m​oins moins
Posté le 12-10-2004 à 18:27:38  profilanswer
 

Gonzoide a écrit :

J'aimerais utiliser Java pour interagir sur un forum genre HFR ... je connais rien a la maniere dont les sessions sont gerees (en general) pour ce genre de truc : imaginons que je me connecte a l'url d'identification pour envoyer mon user/password, j'imagine que le maintien de mon identite se passe soit par cookie, soit par une session cote server ? Y'a d'autres moyens ?
 
Si c'est par des cookies, j'imagine qu'il y a moyen de s'en tirer facilement. Mais si c'est par une session, comment ca se passe pour "maintenir" la session d'une requete HTTP a la suivante, en Java ? Avec un sessionId ? En creant un HttpURLConnection et en tapant uniquement dedans ?
 
PS : c'est des questions d'ordre general, pas lie a un forum en particulier mais j'imagine qu'il n'y a pas 500 manieres de faire :??:

ce qu'on appelle "session" sur le web(et ds d'autres cas d'ailleurs) n'est en aucun cas maintenu par le client, mais par le serveur. tout ce que le client fait c'est envoyer son identifiant de session à chaque requete. le serveur fait un "mapping" entre cet id et un "objet session" dans son coin. le client passe en son id, dans le cas du web, soit par un cookie, soit par un parametre de la requete (get ou post selon les cas)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°871749
julienv
Posté le 12-10-2004 à 18:34:26  profilanswer
 

en fait si la session est maintenue par une cookie, c est facile de propager la session car le cookie sera dans les header HTTP de la reponse.
 
dans le cas d'une session par parametre, c est plus dur, car tu dois interpreter tous les liens du document et en extirper la valeur.
 
une librairie a utiliser pour ce genre de chose est commons http client (qui vient justement de sortir en version 2.0) http://jakarta.apache.org/commons/httpclient/

n°871902
Gonzoide
Les cochons... dans l'espâââce
Posté le 12-10-2004 à 21:56:26  profilanswer
 

julienv a écrit :

en fait si la session est maintenue par une cookie, c est facile de propager la session car le cookie sera dans les header HTTP de la reponse.
 
dans le cas d'une session par parametre, c est plus dur, car tu dois interpreter tous les liens du document et en extirper la valeur.
 
une librairie a utiliser pour ce genre de chose est commons http client (qui vient justement de sortir en version 2.0) http://jakarta.apache.org/commons/httpclient/


:jap:, merci, je vais voir ca

n°871904
Gonzoide
Les cochons... dans l'espâââce
Posté le 12-10-2004 à 21:58:03  profilanswer
 

julienv a écrit :

autant pour moi, tu veux faire l'inverse, i.e te connecter par HTTP sur un server et ensuite maintenir ton identite ?


tout a fait ... je suis en train de regarder HttpURLConnection , mais je suis pas convaincu ...

n°872712
patachou
Posté le 13-10-2004 à 20:58:48  profilanswer
 

the real moins moins a écrit :

le serveur fait un "mapping" entre cet id et un "objet session" dans son coin. le client passe en son id, dans le cas du web, soit par un cookie, soit par un parametre de la requete (get ou post selon les cas)


Et une fois que le client a passé son id, le serveur cherche un objet session avec cet id, c'est bien ça ?
J'ai vu qu'avec les servlets, les sessions sont automatiquement géré par le conteneur, et on peut avoir les informations :

request.getRequestedSessionId ()

, et

request.getSession ()

, c'est ce qui correspond à l'id et l'objet session ? Dans ce cas là comment on s'est entre 2 requetes a la servlet que c'est toujours le même client puisqu'apparement à chaque requete on a toujours un id et un objet session ? Le serveur doit mémoriser les id des clients qui se sont deja identifiés et regarder a chaque requete si l'id est bien enregistré ? A moins que quand un client s'identifie, le serveur met un attribut à l'objet session pour dire qu'il est identifié ? J'ai peur de refaire des tests qui ne sont pas necessaire et j'aimerais bien comprendre...

n°872721
the real m​oins moins
Posté le 13-10-2004 à 21:16:46  profilanswer
 

patachou a écrit :

Le serveur doit mémoriser les id des clients qui se sont deja identifiés et regarder a chaque requete si l'id est bien enregistré ?  

oui... c'est une bete Map<id,session>


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°872726
nraynaud
lol
Posté le 13-10-2004 à 21:30:01  profilanswer
 

Gonzoide a écrit :

tout a fait ... je suis en train de regarder HttpURLConnection , mais je suis pas convaincu ...

et pouquoi ?
http://opensvn.csie.org/jcoincoin/ [...] oyeur.java
 

Code :
  1. if (!message.getAnonymous())
  2.                 connection.setRequestProperty("Cookie", tribune
  3.                         .getCookieString());


 
(j'arrête pas de poster mon code ici en fait, tout le monde va bien pouvoir voir que je code comme un porc avec google)


---------------
trainoo.com, c'est fini
n°872744
patachou
Posté le 13-10-2004 à 21:49:35  profilanswer
 

the real moins moins a écrit :

oui... c'est une bete Map<id,session>


Ok merci, je voulais juste savoir pour pas refaire des trucs qui étaient déjà fait :).

mood
Publicité
Posté le 13-10-2004 à 21:49:35  profilanswer
 

n°872747
the real m​oins moins
Posté le 13-10-2004 à 21:50:57  profilanswer
 

mais tu es du coté client toi, t'as pas à "faire" quoi que ce soit si ce n'est passer ton session_id... renvoyer le cookie que le serveur t'auras envoyé quoi [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°971172
patachou
Posté le 04-02-2005 à 00:14:41  profilanswer
 

J'ai une question sur l'identification sur un serveur protégé par un fichier .htaccess. J'aimerais savoir comment je pourrais m'identifier pour accèder à la page.
Normalement on peut mettre dans l'url le user et le pass comme par exemple : http://patachou:mdp@localhost/index.php
 
Malheuresement quand je passe ca comme argument à URL () j'ai une erreur 401 en reponse du serveur :

Code :
  1. java.io.IOException: Server returned HTTP response code: 401 for URL: http://patachou:mdp@localhost/index.php
  2. at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:789)
  3. at util.http.RequeteHttp.doPost(RequeteHttp.java:70)
  4. at util.http.RequeteHttp.main(RequeteHttp.java:120)

n°971328
benou
Posté le 04-02-2005 à 10:17:27  profilanswer
 

passer le mot de passe dans l'url est une facilité gérée par le navigateur, c'est pas la façon de passer le login mot de passe.
 
Il faut que tu utilises le systeme d'autentification HTTP.
http://www.javaworld.com/javaworld [...] tip47.html
http://www.javaworld.com/javaworld [...] tip46.html
 
 
sinon, tu peux aussi utiliser des API pour faire ton client HTTP : http://jakarta.apache.org/commons/ [...] ation.html

n°972274
patachou
Posté le 04-02-2005 à 19:03:43  profilanswer
 

Merci pour tous les liens benou, ca va grandement m'avancer :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Ouvrir/conserver une session HTTP ?

 

Sujets relatifs
Comment ouvrir un fichier portant un extension ".db"Lister les noms de fichiers,taille,type d'un serveur http ?
Session, cookie et warningsession php chez free
probleme avec une variable de sessionsession qui se détruit après un certain temps
pb de sessionsession java avec un firewall
session et w3c[PHP]variable de session dans une fonction
Plus de sujets relatifs à : Ouvrir/conserver une session HTTP ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR