HttpWebRequest et HTTPS - Conserver la session SSL

Signaler
Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
-
 hyanesimo -
Bonjour à tous ici :)

J'ai un petit souci en ce qui concerne le httpWebRequest et les connexion SSL.

L'objet en lui même gère parfaitement la couche ssl mais le problème si situe au niveau des multi-requête. Je m'explique.

J'essaye de me connecter à un site en HTTPS. jusque là pas de problème, j'utilise un objet httpWebRequest et récupère la réponse du serveur sous forme de texte. La page récupéré comporte un formulaire d'authentification avec une méthode post dont l'url est différente (login.php par exemple).

Comme l'objet httpWebRequest ne peut être réutilisé car sa propriété url est readonly (elle se définir au constructeur par une méthode partagée), je suis donc bien obligé de recréer un second objet httpWebRequest. Seulement lorsque je remplis le formulaire et le poste via cette seconde requête, la session SSL n'est pas conservée, une autre session est crée étant donnée que l'instance de cette requête est nouvelle.

Donc le serveur reçois un Post d'une nouvelle session qu'il ne connait pas et qui ne s'est pas connecté en page d'accueil, il ne trouve pas ce comportement normal et clos la connexion immédiatement. Je précise que j'utilise keep-alive pour mes requêtes mais cela ne change rien.

C'est pourquoi je viens chercher de l'aide ici, pour savoir si quelqu'un sait comment conserver la même session ssl pour plusieurs requêtes sachant que celle-ci ont une url différente. Les headers et les cookies n'ont pas de valeurs spécifique.

Merci à vous


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.

3 réponses


Bonsoir,

Je viens de lire ici que la gestion des cookies est primordiale pour un échange ssl. A mon avis, tu dois effectivement créer un nouvel objet en lui passant tous les cookies de la connexion précédente.
Messages postés
2811
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
27
Salut et merci pour ta réponse nocturne =)

Malheureusement il ne s'agit pas d'une session ASP.Net ou PHP qui sont englobés dans la couche HTTP. Il s'agit du protocole SSL qui est la couche au niveau supérieur. Ici donc les cookies ou les entêtes HTTP ne rentrent pas en ligne de compte. D'ailleurs après pas à pas elle ne comporte pas de cookie.

En réalité la httpWebRequest fait appel à un socket et gère la session SSL de façon transparente pour le développeur. Et c'est bien la que ça coince car je ne trouve pas comment conserver ces informations de session SSL pour émettre ma seconde requête POST afin de me loguer sur cette couche HTTP. C'est pas simple a expliquer...


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Merci Mayzz de nous envoyer d'abord le bout de code qui t'a permis d'envoyer une requete Post au serveur HTTPS ;( moi aussi je veux juste récupérer une réponse sous forme d'un texte du serveur HTTPS... je n'arrive pas .Aidez moi SVP