我问一个问题得到URL作为动作输入这里 。 现在我有一个新的问题。 传递的URL行动从改变http://example.com
到http:/example.com
。
我想知道为什么,我怎么能解决这个问题。
PS:我加入这个代码解决,但我认为有可能是未来的另一个问题! 代码如下:
if ((url.Contains(":/")) && !(url.Contains("://")))
{
url = url.Replace(":/", "://");
}
我问一个问题得到URL作为动作输入这里 。 现在我有一个新的问题。 传递的URL行动从改变http://example.com
到http:/example.com
。
我想知道为什么,我怎么能解决这个问题。
PS:我加入这个代码解决,但我认为有可能是未来的另一个问题! 代码如下:
if ((url.Contains(":/")) && !(url.Contains("://")))
{
url = url.Replace(":/", "://");
}
浏览器(或服务器)与一个单一的一个替代双斜线(非法)。
试试吧,
http://stackoverflow.com/questions/11853025//input-url-like-http-site-com-changes-to-http-site-com-in-action-input
(在Chrome)变为:
http://stackoverflow.com/questions/11853025/input-url-like-http-site-com-changes-to-http-site-com-in-action-input
从您的路径//后来添加它:如果我是你,我会删除HTTP。
http://localhost:1619/Utility/PR/example.com/
然后, url = "http://" + url;
如果你可能会得到安全网址添加到路由/http/example.com
或/https/example.com
使用正则表达式:
string src = @"http://example.com";
string result = Regex.Replace(src, @"(?<=https?:/)/", "");
如果您需要还原:
string src = @"http:/example.com";
string result = Regex.Replace(src, @"(?<=https?:)/(?=[^/])", @"//");