OVH Cloud OVH Cloud

Response.Redirect méthode POST

5 réponses
Avatar
thibaut
Bonjour à tous,

Voila mon pb : j'ai besoin d'échanger des données entre 2 serveurs (pas
possible d'utiliser les variables session).
Je fais donc un Redirect : Response.Redirect( url + params );
Mais Redirect correspond à un GET (?!) donc si j'ai beaucoup de paramètres,
je vais avoir un echec.

J'ai essayé de faire un genre de post avec la classe HttpWebRequest.
Le post se fait bien mais je ne sais pas comment afficher dans le navigateur
la réponse que j'obtient sous forme de string, en lisant un stream.

Merci pour votre aide.
thibaut.

5 réponses

Avatar
hell
"thibaut" a écrit dans le message de
news:
Bonjour à tous,

Voila mon pb : j'ai besoin d'échanger des données entre 2 serveurs (pas
possible d'utiliser les variables session).
Je fais donc un Redirect : Response.Redirect( url + params );
Mais Redirect correspond à un GET (?!) donc si j'ai beaucoup de


paramètres,
je vais avoir un echec.

J'ai essayé de faire un genre de post avec la classe HttpWebRequest.
Le post se fait bien mais je ne sais pas comment afficher dans le


navigateur
la réponse que j'obtient sous forme de string, en lisant un stream.

Merci pour votre aide.
thibaut.


pour passer des variables d'une page à une autre regarde aussi du coté de
Server.Transfer

a+
Eric
Avatar
Patrice
Si tu peux (pas de besoin trop pointu) tu peux aussi utiliser
System.Net.WebClient ou avoir un service web...

Ce que tu reçois est le code HTML qui résulte de la page que tu as appelé.
Si tu l'écris vers le navigateur (Response.Write) l'utilisateur verra ce
même résultat. Attention toutefois aux différences (mais tu peux avoir un
petit ajustement à faire selon ce que contient la page, par exemple si 'il y
a des liens relatifs vers des images).



--
Patrice

"thibaut" a écrit dans le message de
news:
Bonjour à tous,

Voila mon pb : j'ai besoin d'échanger des données entre 2 serveurs (pas
possible d'utiliser les variables session).
Je fais donc un Redirect : Response.Redirect( url + params );
Mais Redirect correspond à un GET (?!) donc si j'ai beaucoup de


paramètres,
je vais avoir un echec.

J'ai essayé de faire un genre de post avec la classe HttpWebRequest.
Le post se fait bien mais je ne sais pas comment afficher dans le


navigateur
la réponse que j'obtient sous forme de string, en lisant un stream.

Merci pour votre aide.
thibaut.


Avatar
thibaut
bein le probleme c'est qu'avec la classe HttpWebRequest, la réponse au POST
que j'obtiens est sous forme de string,
et avec Response.Write(mastring), la page que j'obtiens contient également
tout le contenu de ma page aspx (entetes, viewstate, form,...).
ce qui au final fait planter l'appli...
Et en effet, j'ai des liens relatifs que je ne sais pas gérer...

"Patrice" a écrit :

Si tu peux (pas de besoin trop pointu) tu peux aussi utiliser
System.Net.WebClient ou avoir un service web...

Ce que tu reçois est le code HTML qui résulte de la page que tu as appelé.
Si tu l'écris vers le navigateur (Response.Write) l'utilisateur verra ce
même résultat. Attention toutefois aux différences (mais tu peux avoir un
petit ajustement à faire selon ce que contient la page, par exemple si 'il y
a des liens relatifs vers des images).



--
Patrice

"thibaut" a écrit dans le message de
news:
> Bonjour à tous,
>
> Voila mon pb : j'ai besoin d'échanger des données entre 2 serveurs (pas
> possible d'utiliser les variables session).
> Je fais donc un Redirect : Response.Redirect( url + params );
> Mais Redirect correspond à un GET (?!) donc si j'ai beaucoup de
paramètres,
> je vais avoir un echec.
>
> J'ai essayé de faire un genre de post avec la classe HttpWebRequest.
> Le post se fait bien mais je ne sais pas comment afficher dans le
navigateur
> la réponse que j'obtient sous forme de string, en lisant un stream.
>
> Merci pour votre aide.
> thibaut.





Avatar
Patrice
Que donne un "Response.Clear", "Response.Write","Response.End" ?

Dans ce cas, il faut à priori si je comprends bien le contexte totalement
court-circuiter la page "normale" ASP.NET pour n'envoyer au client que le
code que tu récupères.

Pour les URL relatives, le plus simples serait d'insérer une balise base
href dans le code que tu récupères... Cela permet de dire explictement par
rapport à quel addresse doivent être calculée les URLs relatives (sauf le
serveur prévoit de "boycotter" les requêtes HTTP qui ne viennent pas d'une
page du serveur).

--
Patrice

"thibaut" a écrit dans le message de
news:
bein le probleme c'est qu'avec la classe HttpWebRequest, la réponse au


POST
que j'obtiens est sous forme de string,
et avec Response.Write(mastring), la page que j'obtiens contient également
tout le contenu de ma page aspx (entetes, viewstate, form,...).
ce qui au final fait planter l'appli...
Et en effet, j'ai des liens relatifs que je ne sais pas gérer...

"Patrice" a écrit :

> Si tu peux (pas de besoin trop pointu) tu peux aussi utiliser
> System.Net.WebClient ou avoir un service web...
>
> Ce que tu reçois est le code HTML qui résulte de la page que tu as


appelé.
> Si tu l'écris vers le navigateur (Response.Write) l'utilisateur verra ce
> même résultat. Attention toutefois aux différences (mais tu peux avoir


un
> petit ajustement à faire selon ce que contient la page, par exemple si


'il y
> a des liens relatifs vers des images).
>
>
>
> --
> Patrice
>
> "thibaut" a écrit dans le message de
> news:
> > Bonjour à tous,
> >
> > Voila mon pb : j'ai besoin d'échanger des données entre 2 serveurs


(pas
> > possible d'utiliser les variables session).
> > Je fais donc un Redirect : Response.Redirect( url + params );
> > Mais Redirect correspond à un GET (?!) donc si j'ai beaucoup de
> paramètres,
> > je vais avoir un echec.
> >
> > J'ai essayé de faire un genre de post avec la classe HttpWebRequest.
> > Le post se fait bien mais je ne sais pas comment afficher dans le
> navigateur
> > la réponse que j'obtient sous forme de string, en lisant un stream.
> >
> > Merci pour votre aide.
> > thibaut.
>
>
>


Avatar
thibaut
Merci, j'avais oublié le Response.End. Grrrrr.....
De toute façon, ça a l'air de foirer complètement avec les url relatives. La
page que je charge contient une applet, des images...
Je pense que ce n'est pas la bonne méthode. Je vais chercher autre chose.
Merci de ton aide !