2010-02-10 14 views
1

Je suis un programme Java qui utilise Apache httpclient api. Ceci est utilisé pour se connecter à et communiquer avec une application web. Une fois connecté, il existe une situation dans laquelle le programme émet un processus d'exécution pour ouvrir Firefox pour lancer la webapp et permettre à l'utilisateur de voir les données dans le navigateur. Étant donné que le programme Java est déjà connecté, existe-t-il un moyen de partager cette session PHPSESSID afin que le firefox généré soit déjà connecté et fonctionne dans cette même session?apache httpclient et la création d'un navigateur qui va partager la session

Répondre

0

Vous pouvez écrire vos propres fonctions de gestion des sessions de rappel qui stockent les données de session dans une base de données. Ensuite, tout ce que vous avez à faire est de passer le PHPSESSID avec l'URL que vous ouvrez dans Firefox et vous pouvez continuer la session à partir de là. Lire la suite ici:

http://www.php.net/manual/en/function.session-set-save-handler.php

Il y a quelques bons exemples d'une session dataBased dans les commentaires des utilisateurs

+0

suppose que je devrais l'ai dit, je ne peux pas apporter des modifications à la webapp PHP. Je reçois le PHPSESSID lors de la connexion, est-il un moyen de passer cela en tant que paramètre dans l'URL pour le processus de spawn en ligne de commande firefox? – Nick

+1

Vous pouvez simplement concaténer le PHPSESSID sur l'URL que vous ouvrez en tant que requête (http: //urltoopen.com/? Session = PHPSESSID ...) mais à moins que la webapp ne sache quoi faire avec ça ne sera pas très utile. Les informations de session sont généralement stockées dans les cookies du côté client et les cookies sont spécifiques au navigateur. Peut-être est-il possible d'enregistrer le cookie PHPSESSID dans le répertoire des cookies de Firefox? Puis, quand Firefox s'ouvrira, il utilisera ce cookie? Juste une pensée - jamais essayé et ne sais pas si cela va fonctionner – thetaiko

+1

Légère modification - il semble que firefox stocke les cookies dans une base de données cookies.sqlite - enregistrer le cookie là-bas. – thetaiko