Problème avec la barre oblique à l'intérieur d'une chaîne de requête

Je suis en utilisant le WebRequest la classe pour faire une demande de certains site. La chaîne de requête contient une barre oblique (/), qui sont la cause de l'url à être coupée par le site, car il ne voit pas cela comme une partie de la chaîne de requête.

La chaîne de requête est: "mon params /séparés par des slash".

La demande:

var request = WebRequest.Create(
    "http://www.somesime.com/q-my+params+%2f+separated+by+slash"
);

Ce que je manque?

EDIT:
Après toutes les réponses sont ici de mise à jour:

Je me suis trompé sur la chaîne de requête, ce n'est pas vraiment de la chaîne de requête, mais l'url doit regarder (sans le "?"):

"http://www.somesime.com/q-my+params+%2f+separated+by+slash"

L'url "http://www.somesime.com/q-my+params+%2f+séparées+par+barre oblique" est le résultat de Serveur.UrlEncode méthode. Le code:

var url = "http://www.somesime.com/q-" + 
    Server.UrlEncode(@"my params /separated by slash");

EDIT 2:
Si je place l'url dans un navigateur, tout fonctionne.
Mais si je le lance par classe WebRequest, les url des résultats comme il a été appelé sans "/séparés par des slash" partie

  • dans votre exemple, il n'existe pas de chaîne de requête. La chaîne de requête est la partie de l'url après un questionmark. Bien que cela peut sembler un peu comme une querystring il est, en fait, une partie du chemin.
  • Serveur.UrlEncode va supprimer le '/'s ne sera pas gâcher votre webrequest, en supposant qu'il utilise le routage d'URL vous avez juste modifié le chemin d'accès.
  • Serveur.UrlEncode convertit " / " à "%2f'. Mais le site, je fais une demande, encore le voir que"/"
InformationsquelleAutor Kamarey | 2009-08-06