URL-кодирование косой черты (/ )в.NET

Как я могу заставить Uriили HttpWebRequestразрешить uri, содержащий как /, так и %2f, как показано ниже?

http://localhost:55672/api/exchanges/%2f/MyExchange

Я попробовал это...

WebRequest request = 
    HttpWebRequest.Create("http://localhost:55672/api/exchanges/%2f/MyExchange");

...и это...

Uri uri = new Uri("http://localhost:55672/api/exchanges/%2f/MyExchange", true);
WebRequest request = HttpWebRequest.Create(uri);

...и это...

UriBuilder builder = new UriBuilder();
builder.Port = 55672;
builder.Path = "api/exchanges/%2f/MyExchange";
WebRequest request = HttpWebRequest.Create(builder.Uri);

Однако со всем этим request.RequestUriзаканчивается http://localhost:55672/api/exchanges///MyExchange, а request.GetResponse()дает ответ 404.

К вашему сведению, я пытаюсь использовать HTTP API RabbitMQ, и ввод URL-адреса в Chrome дает ожидаемый результат JSON.

7
задан Clay 13 July 2012 в 20:35
поделиться