以下代码如何实现过滤以 http ftp www https 开头的网址
修改前链接格式为 域名/url.asp?url=http://www.baidu.com
修改后链接格式为 域名/url.asp?url=baidu.com
请高手指点 谢谢。
<%
dim url
dim baiyea_url
baiyea_url=request("url")
Response.Redirect baiyea_url
%>
以下代码如何实现过滤以 http ftp www https 开头的网址
修改前链接格式为 域名/url.asp?url=http://www.baidu.com
修改后链接格式为 域名/url.asp?url=baidu.com
请高手指点 谢谢。
<%
dim url
dim baiyea_url
baiyea_url=request("url")
Response.Redirect baiyea_url
%>
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在.NET中,我们可以使用Request.Url属性来获取请求的URL。然后,我们可以检查这个URL是否包含特定的字符串(在这种情况下是"www"),如果包含了,则可以将其替换为指定的新值(在这种情况下是"http://www.baidu.com")。下面是一个简单的示例:
using System;
using System.Net;
namespace WebFilter
{
class Program
{
static void Main(string[] args)
{
string originalUrl = "http://www.baidu.com";
string filteredUrl = FilterUrl(originalUrl);
Console.WriteLine(filteredUrl);
}
static string FilterUrl(string url)
{
if (url.StartsWith("http", StringComparison.OrdinalIgnoreCase) ||
url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
return "http://" + url.Substring(7); // 将"/url.asp?url=" 替换为"http://"
}
else
{
return url; // 如果不匹配任何已知的模式,返回原始URL
}
}
}
}
这段代码首先定义了一个名为FilterUrl的方法,它接受一个字符串参数url。然后,它检查url是否开始于HTTP或HTTPS。如果是,那么它将"/url.asp?url="替换为"http://".如果不是,那么它就返回原始的URL。
注意:这种方法并不完美,因为它可能会误报某些情况,例如当用户在URL中添加了额外的字符或者URL中包含多个域名时。但是,在大多数情况下,这应该足够解决了你的需求。