Моно - класс Ури - PullRequest
       27

Моно - класс Ури

1 голос
/ 10 января 2011

Я делаю HttpWebRequest по URL-адресу, подобному следующему:

"http://mysite.com/search?query=my+search+string"

Проблема в том, что класс Uri экранирует его с помощью%, а сайт, к которому я обращаюсь, не может обработатьсбежавшие персонажи.(У меня нет контроля над исправлением сайта)

Итак, попробовал этот конструктор [устарел]: * ​​1006 *

new Uri(myUriString, true);

Но, похоже, ничего не изменилось, при отладке мой Uri все еще получилESCAPE.

Я запускаю это на Mac с Mono, но я не пробовал его на стандартном .Net в Windows, чтобы посмотреть, имеет ли он такое же поведение.

Есть ли другой способобойти эту проблему?

Ответы [ 2 ]

1 голос
/ 10 января 2011

Я запустил

Uri uri = new Uri("http://mysite.com/search?query=my+search+string");
Console.WriteLine(uri.ToString());

через Microsoft .NET Runtime и Mono на компьютере с Windows 7, и он не избежал символов.Вы уверены, что этот URL не добавляется к другому URL, где он считает, что это параметр запроса?

0 голосов
/ 10 января 2011

К сожалению, я не вижу способа обойти это.Экранирование символов с помощью шестнадцатеричных кодов находится в спецификации Uri и должно выполняться сервером.

...