zoukankan
html css js c++ java
用 C# 分析 URL 中的参数信息
using
System;
using
System.Collections.Specialized;
using
System.Text.RegularExpressions;
namespace
UrlParse
{
/**/
///
<summary>
///
分析 url 字符串中的参数信息
///
</summary>
class
Class1
{
/**/
///
<summary>
///
应用程序的主入口点。
///
</summary>
[STAThread]
static
void
Main(
string
[] args)
{
string
url
=
"
http://www.xxx.com/xyz/hello.asp?a=3&typeId=45&cc=ILoveYou
"
;
NameValueCollection nvc;
string
baseUrl;
ParseUrl(url,
out
baseUrl,
out
nvc);
//
output results
Console.WriteLine(
"
baseUrl: {0}
"
, baseUrl);
Console.WriteLine(
"
parameters:
"
);
for
(
int
i
=
0
; i
<
nvc.Count; i
++
)
Console.WriteLine(
"
{0}, {1}
"
, nvc.Keys[i], nvc[i]);
Console.ReadLine();
}
/**/
///
<summary>
///
分析 url 字符串中的参数信息
///
</summary>
///
<param name="url">
输入的 URL
</param>
///
<param name="baseUrl">
输出 URL 的基础部分
</param>
///
<param name="nvc">
输出分析后得到的 (参数名,参数值) 的集合
</param>
///
<author>
木野狐(Neil Chen)
</author>
///
<date>
2005-06-23
</date>
static
void
ParseUrl(
string
url,
out
string
baseUrl,
out
NameValueCollection nvc)
{
if
(url
==
null
)
throw
new
ArgumentNullException(
"
url
"
);
nvc
=
new
NameValueCollection();
baseUrl
=
""
;
if
(url
==
""
)
return
;
int
questionMarkIndex
=
url.IndexOf(
'
?
'
);
if
(questionMarkIndex
==
-
1
)
{
baseUrl
=
url;
return
;
}
baseUrl
=
url.Substring(
0
, questionMarkIndex);
if
(questionMarkIndex
==
url.Length
-
1
)
return
;
string
ps
=
url.Substring(questionMarkIndex
+
1
);
//
开始分析参数对
Regex re
=
new
Regex(
@"
(^|&)?(\w+)=([^&]+)(&|$)?
"
, RegexOptions.Compiled);
MatchCollection mc
=
re.Matches(ps);
foreach
(Match m
in
mc)
{
nvc.Add(m.Result(
"
$2
"
), m.Result(
"
$3
"
));
}
}
}
}
查看全文
相关阅读:
Java8 新特性 (七)
Java8 新特性 (六)Optional 类
Java8 新特性 (四)方法引用与构造器引用
使用Postman做接口测试(一)
使用unittest方法写登录接口,调用cookie
python的简单实用二(封装/继承/多态)
学习进度条46
学习进度条104
学习进度条103
学习进度条102
原文地址:https://www.cnblogs.com/RChen/p/179627.html
最新文章
团队作业
联级调用
总结
总结
团队作业
个人作业-顶会热词
总结
第三章因特网客户端编程
第二章 网络编程
002-公共子串计算
热门文章
网络安全学习方法论之体系的重要性
CF 1477A. Nezzar and Board
CF1394A Boboniu Chats with Du
JVM 【目录】
第三节:存储过程
第二节:变量
第一节:视图
第一节:事务
第四节:常见的约束
第三节:数据类型
Copyright © 2011-2022 走看看