如何通过单个正则表达式验证URL:
http://83.222.4.42:8880/listen.pls
http://www.my_site.com/listen.pls
http://www.my.site.com/listen.pls
Run Code Online (Sandbox Code Playgroud)
是真实的?
我看到我不完全提出问题:(对不起我的错误.想法是我想在regexp有效网址的帮助下验证,让它成为外部IP地址或域名.这是其他想法.有效的网址可以考虑:
http://93.122.34.342/
http://193.122.34.342/abc/1.html
http://www.my_site.com/listen2.pls
http://www.my.site.com/listen.php
Run Code Online (Sandbox Code Playgroud)
等等.
通往地狱的道路铺设了字符串解析.
URL解析尤其是许多被利用的安全问题的根源.不要这样做.
例如,你想要匹配吗?
请注意大写方案部分.请记住,URL的某些部分区分大小写,而有些则不区分大小写.然后是编码规则.等等.
首先使用System.Uri解析您提供的URL:
var uri = new Uri("http://83.222.4.42:8880/listen.pls");
Run Code Online (Sandbox Code Playgroud)
然后你可以写下这样的东西:
if (uri.Scheme == "http" &&
uri.Host == "83.222.4.42" &&
uri.AbsolutePath == "/listen.pls"
)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1874 次 |
| 最近记录: |