使用 .webbrowser.url 上的 ToString() 方法会自动转换 %26 与号

本文关键字:转换 与号 方法 url webbrowser 上的 ToString 使用 | 更新日期: 2023-09-27 18:35:03

我正在尝试做这样的事情,以便我可以从 c# Web 浏览器中从 URL 中获取信息,稍后我使用 & 作为这些部分的端点分解解码的 url:

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

我的问题是,当我打电话时似乎.在webBrowser1.Url上的ToString((,它会自动将%26转换为并有效地破坏我的URL。我需要保留 %26,直到我可以自己处理它并用其他东西替换它。

--

我也尝试了这样的替代方法,但由于某种原因,param1 总是返回空白,我永远无法从中得到任何东西:

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());
}

使用 .webbrowser.url 上的 ToString() 方法会自动转换 %26 与号

尝试webBrowser1.Url.OriginalString .这应该保留原始 URL。

ToString System.Uri方法将被重写并返回规范表示形式。检查仅在文档中显示的示例。