c# 在 webbrowser.url 上使用 .ToString() 方法会自动转换 %26 符号?

标签 c# url webbrowser-control urldecode ampersand

我正在尝试做这样的事情,这样我就可以从 c# webbrowser 的 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());
}

最佳答案

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

System.UriToString 方法被覆盖并返回规范表示。检查刚刚显示此 in the documentation 的示例.

关于c# 在 webbrowser.url 上使用 .ToString() 方法会自动转换 %26 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35468949/

相关文章:

c# - 尝试单击按钮登录网站(Httpwebrequest - cookies)

c# - while循环中的字典并删除字典中的项目

c# - 无法使用 SendKeys 或 SendMessage 以编程方式粘贴非文本对象

ios - 在 applicationWillTerminate 中发送请求

php - 如何在codeigniter中修改路由

激活设计模式时,C# WebBrowser 控件中的 Javascript 不执行

c# - 如何在 WebBrowser 控件中提交表单?

c# - 不同语言的总结 C#

c# - 找不到 C# Winforms 中的内存泄漏

node.js - 如何检查应用程序中是否存在 req.url 路径?