2011-01-27 3 views
0

J'ai une chaîne qui stocke une URL contenant% 26 pour & à un point de l'URL, car cela est requis pour l'URL que j'essaie d'appeler.WebRequest en cours de décodage?

J'imprimer la chaîne d'URL à la console avant de faire le

HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(myURL); 

et si je copier et coller l'URL qui est imprimé, je suis en mesure d'obtenir à la cible souhaitée.

Cependant, lorsque je me connecte et obtenir la réponse avec

HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse(); 

échoue (l'URL fait une mise à jour vers une autre page, et la mise à jour est faite lorsque je copier et coller l'URL qui est imprimé, mais pas quand je cours le HttpWebResponse ...).

Cela a-t-il quelque chose à voir avec le codage/décodage de la chaîne URL lors de la création de WebRequest?

Toute aide serait appréciée, merci.

+0

Lorsque vous dites copier/coller, est-ce que vous copiez/collez l'URL dans le navigateur? – Shoban

+0

Que voulez-vous dire qu'il fait une mise à jour? Vous voulez dire qu'il redirige? –

+0

En copiant/collant, je veux dire que je copie l'URL qui est affichée sur la console et la colle dans un navigateur Web, il effectue le bon comportement. Par "fait une mise à jour" l'URL inclut une autre URL vers laquelle il redirige aussi longtemps que les autres paramètres passés dans la vérification d'erreur de passe d'URL d'origine. – John

Répondre

0

Essayez d'encoder votre URL. Essayez ce lien URL Encode

+0

Quand je code, l'URL se transforme en ... https% 3a% 2f% 2f ... donc ça ne semble pas correct. Avec la façon dont je l'avais configuré auparavant, je pouvais au moins envoyer une URL pour me connecter avec un nom d'utilisateur et un mot de passe, puis envoyer cette seconde URL que j'essaie d'envoyer comme décrit dans le problème d'origine. Lorsque je code l'URL, je ne peux même pas envoyer la première URL avec succès. – John

+1

Je ne comprends pas, s'il vous plaît, éclaire-moi. Quand vous encodez url, normalement il va encoder votre URL à quelque chose qu'un navigateur/http comprend, c'est pourquoi il ressemble à https% 3a% 2f% 2f ... c'est ce que fait l'URL. –

+0

La chaîne d'URL que j'utilise pour créer le WebRequest est la suivante: https://www.mywebsite.com/direct/my_test_portal.jsp?param1=00D¶m2=06E&useSecure=true&jse=0&action=myAction&[email protected]&pw=password123&startURL = apex/doMyUpdate? paramKey = abc-123% 26param2Key = https% 3a% 2f% 2f127.0.0.1 qui si je copie et colle dans un navigateur Web, il effectue l'action spécifiée. J'ai besoin des deux derniers paramètres (paramKey et param2Key) pour avoir le% de quand la demande est faite. – John