在行动中输入/example.com:像http://example.com输入网址变更为http(

2019-10-17 03:35发布

我问一个问题得到URL作为动作输入这里 。 现在我有一个新的问题。 传递的URL行动从改变http://example.comhttp:/example.com

我想知道为什么,我怎么能解决这个问题。

PS:我加入这个代码解决,但我认为有可能是未来的另一个问题! 代码如下:

if ((url.Contains(":/")) && !(url.Contains("://")))
{
    url = url.Replace(":/", "://");
}

Answer 1:

浏览器(或服务器)与一个单一的一个替代双斜线(非法)。
试试吧,

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



Answer 2:

使用正则表达式:

string src = @"http://example.com";
string result = Regex.Replace(src, @"(?<=https?:/)/", "");

如果您需要还原:

string src = @"http:/example.com";
string result = Regex.Replace(src, @"(?<=https?:)/(?=[^/])", @"//");


文章来源: Input URL like http://example.com changes to http:/example.com in action input