Windows Phone 7 WebBrowserTask проблема с экранированными URL - PullRequest
2 голосов
/ 18 января 2011

Я пытаюсь открыть веб-страницу с помощью instapaper или google mobilizer.

Поэтому я перехожу к задаче веб-браузера с URL-адресом UrlEncoded: http://www.instapaper.com/m?u=http%3A%2F%2Ftwitter.com%2FT_Jako%2Fstatuses%2F27119375731400704

, который кажется вполне подходящимme.

Я генерирую его, выполняя

serviceUrl + Uri.EscapeDataString(url.ToString())

Проблема в том, что IE, вероятно, не экранирует параметр перед запросом страницы, поэтому я получаю страницу 404.

Донне понимаю, что я делаю неправильно, или если это ошибка в WP7 и есть ли обходной путь для этого.

[ОБНОВЛЕНИЕ] : Это определенно ошибка, которая такжеполучил подтвержденный парень из команды WP7 .Я тоже писал об этом: http://codeclimber.net.nz/archive/2011/01/19/WP7-Tip-Always-Encode-Urls-for-the-WebBrowserTask.aspx

Спасибо, Симона

Ответы [ 2 ]

3 голосов
/ 18 января 2011
string s = HttpUtility.UrlEncode("http://www.instapaper.com/m?u=http%3A%2F%2Ftwitter.com%2FT_Jako%2Fstatuses%2F27119375731400704");
            WebBrowserTask task = new WebBrowserTask();
            task.URL = s;
            task.Show();

У меня здесь работает.

Кстати, если вы используете эмулятор, вы, скорее всего, столкнетесь с этой ошибкой: http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/d00bb0cc-bf8c-4a9e-9823-b55f589a3106/

2 голосов
/ 19 января 2011

Это определенно ошибка.

У меня были проблемы с передачей статуса Twitter на французском языке. Двойное экранирование URL работало для меня:

string url = http://twitter.com/?status=testÉÇÀéçà
var wb = new WebBrowserTask();
wb.URL = Uri.EscapeUriString(Uri.EscapeUriString(url));
wb.Show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...