Acceder a une page avec un prog java sans passer par la page d'acces - Java - Programmation
Marsh Posté le 29-04-2004 à 17:19:16
est ce qu'il faut que j'utilise des servlets pour mon prog pour gerer si c'est un probleme de session?
Marsh Posté le 29-04-2004 à 18:14:41
non pas de servlet, la toi tu veux faire ce que fait un browser, donc il faut que tu recuperes les cookie, que tu te loggues, etc.
tu peux aller voir la, c'est assez bien explique:
http://martin.nobilitas.com/java/cookies.html
Marsh Posté le 29-04-2004 à 21:00:43
Juste un petit truc en plus par rapport à ce qui est dit sur la page de souk pour passer le user et password :
1) si mode d'authentification BASIC (popup du navigateur pour saisir le user/pwd), il faut encoder en base 64 la chaine constituée avec "user : password" (sans les blancs) dans le champ "Basic-Auth" du header HTTP.
2) si mode d'authentification FORM (une page avec des champs de saisie -> un Form HTML), il faut faire un POST sur l'url correspondante à celle du formulaire HTML avec les valeurs des champs "j_username" et "j_password" renseignés.
Pour savoir si l'une ou l'autre des méthodes est employée, tester le code retour HTTP (401 = unauthorized = mode basic).
Une fois ces "données" transmises, le serveur va renvoyer le fameux cookie qu'il faudra retourner ensuite à chaque requête.
Hopla...
Marsh Posté le 29-04-2004 à 16:29:47
Bonjour,
J'ai ecris un programme qui me permet de lire des informations contenues dans des pages web des sites. Je souhaite recuperer des informations sur un site rapidement.
Le probleme c'est que quand j'ouvre une connexion sur cette page avec java, elle me renvoie sur la page d'acces. J'ai le mot de passe et le login. ce site créé aussi un cookie. le site ouvre une session je crois. je sais pas comment je peus lui dire avec mon programme java que j'ai ces infos, et comment je peus passer
une partie du code pour l'ouverture de la connection:
URL url = new URL(urlRacine);
URLConnection temp = url.openConnection();
InputStream InFile = (InputStream) temp.getContent();
BufferedReader rdr = new BufferedReader(new InputStreamReader(InFile));