WebBrowser网址中特殊字符的问题

webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);

        string url = "http://+8615820751255.wyy.cn/company/showCompanyContact-209172.htm";


            //用此方法访问网址中有“+”可以正常访问,但如果网址所在页面包含JS错误那么通过此方法访问将不会引发Navigating及Navigated事件
            webBrowser1.Navigate(url);

        string url2 = "http://%2B8615820751255.wyy.cn/company/showCompanyContact-209172.htm";//用Uri.EscapeDataString对“+”进行编码
        string url3 = "http://%252B8615820751255.wyy.cn/company/showCompanyContact-209172.htm";//用Uri.EscapeDataString对“+”进行两次编码

            //用此方法访问,网址中有“+”会报URI无效
            webBrowser1.Url = new Uri(url);
            //用此方法访问,将网址中“+”用Uri.EscapeDataString编码还是会报URI无效
            webBrowser1.Url = new Uri(url2);
            //用此方法访问,将网址中“+”用Uri.EscapeDataString进行两次编码还是会报URI无效
            webBrowser1.Url = new Uri(url3);

所以如果网址中包含有“+”,而且该网址存在JS错误,就不知道要用什么方法去正确处理了(不引发Navigating及Navigated事件就没有意义了),郁闷中……

原文地址:https://www.cnblogs.com/fm168/p/2937241.html