2016-02-17 22 views
1

我試圖做這樣的事情,所以我可以搶出從C#web瀏覽器的URL信息,我後來分手使用&解碼URL作爲段的終點:c#using .ToString()webbrowser.url上的方法自動轉換%26&符號?

string theURL = System.Uri.UnescapeDataString(webBrowser1.Url.ToString().Replace("%26","and")).Replace('+',' '); 

我問題在於,當我在webBrowser1.Url上調用.ToString()時,它自動將%26轉換爲&,從而有效地破壞了我的URL。我需要保存%26,直到我可以自己處理它,並用其他東西替換它。

-

我試圖這樣的替代方法很好,但總是參數1回來空白出於某種原因,我從來沒有得到任何東西出來吧:

string queryString = webBrowser1.Url.Query; 
var q = System.Web.HttpUtility.ParseQueryString(queryString); 
var param1 = q["paramname"]; 

這也給了我空白:

foreach (var element in q) 
{ 
    MessageBox.Show(element.ToString()); 
} 

回答

3

嘗試webBrowser1.Url.OriginalString。這應該保留原始URL。

ToString方法System.Uri被覆蓋並返回標準表示。檢查剛纔顯示的這個例子in the documentation