2011-01-17 4 views
2

나는 instapaper 또는 google mobilizers를 통해 웹 페이지를 열려고합니다. 나에게 완벽하게 잘 보인다 http://www.instapaper.com/m?u=http%3A%2F%2Ftwitter.com%2FT_Jako%2Fstatuses%2F27119375731400704Windows Phone 7 WebBrowserTask 문제 (이스케이프 처리 된 URL)

:

은 그래서 웹 브라우저 작업에 urlencoded로 URL을 전달합니다.

나는

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

문제 IE 아마 페이지를 요청하기 전에 매개 변수를 언 이스케이프 인을 수행하여 생성, 그래서 404 페이지를 얻을.

내가 뭘 잘못하고 있는지, WP7의 버그인지, 해결 방법이 있는지 이해할 수 없습니다.

[업데이트] : 이 확실히 또한 confirmed by a guy from the WP7 team을 가지고 버그입니다. 내가 너무 그것에 대해 블로그 : http://codeclimber.net.nz/archive/2011/01/19/WP7-Tip-Always-Encode-Urls-for-the-WebBrowserTask.aspx

여기에 나를 위해 당신에게

답변

3
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/

+0

그래, 확실히 그 버그 : – CodeClimber

+0

그리고를 UrlEncode를 사용하는 ... 난 왜 이해가 안 돼요. 아니면 브라우저에 보내기 전에 webbrowser 작업에서 인코딩을 해제하기 때문에 이중 인코딩해야합니까? – CodeClimber

2

그것은 확실히 버그입니다.

트위터 상태를 프랑스어로 전달하는 데 문제가있었습니다. 더블 이스케이프 URL은 나를 위해 일한 내 URL이 이미 인코딩 된 URL입니다 :

string url = http://twitter.com/?status=testÉÇÀéçà 
var wb = new WebBrowserTask(); 
wb.URL = Uri.EscapeUriString(Uri.EscapeUriString(url)); 
wb.Show();