解決方法在此,不重複作贅述,傳送門:http://stackoverflow.com/questions/856885/httpwebrequest-to-url-with-dot-at-the-endweb
解決方法:url
/// <summary> /// 傳遞待處理Url進行處理 /// </summary> /// <param name="oldUrl">待處理url</param> /// <returns>處理後的Url</returns> public static string UrlFix(string oldUrl) { var url = new Uri(oldUrl); MethodInfo getSyntax = typeof(UriParser).GetMethod("GetSyntax", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic); FieldInfo flagsField = typeof(UriParser).GetField("m_Flags", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); if (getSyntax != null && flagsField != null) { foreach (string scheme in new[] { "http", "https" }) { UriParser parser = (UriParser)getSyntax.Invoke(null, new object[] { scheme }); if (parser != null) { int flagsValue = (int)flagsField.GetValue(parser); if ((flagsValue & 0x1000000) != 0) flagsField.SetValue(parser, flagsValue & ~0x1000000); } } } url = new Uri(oldUrl); return url.ToString(); }
另外此在.net4.5中bug已解決!spa