您的位置:首页 > 编程语言 > C#

c#ip138自动获取代码

2011-02-10 18:14 411 查看
好久没有写文章了今天拿个小例子来练练手吧,2011年开个头。在这里先祝大家兔年大吉大利,祝愿博客园越办越好!!!

网上其它也有不少这样的方法,我是根据自己的想法来实现几个,正好也利用一个URl Get请求的方法来取得页面信息,并分析的过程,希望能给新手带来一些帮助。

先来看第一个手机号码信息查询:

我们打开http://www.ip138.com:8080/search.asp

View Code

/// <summary>
/// 输入身份证号得到相应信息
/// </summary>
/// <param name="number">手机号码</param>
/// <returns>数组类型0为性别,1出生日期,2发证地</returns>
public static string[] getCardate(string number)
{
try
{
string strSource = GetUrltoHtml("http://qq.ip138.com/idsearch/index.asp?action=idcard&userid=" + number.Trim() + "&B1=%B2%E9+%D1%AF");
strSource = strSource.Substring(strSource.IndexOf("查询结果"));
strSource = StripHTML(strSource);
strSource = strSource.Replace("\r", "");
strSource = strSource.Replace("\n", "");
strSource = strSource.Replace("\t", "");
strSource = strSource.Replace(" ", "");
strSource = strSource.Replace("查询结果 * ++", "");
strSource = strSource.Replace("-->", "");
string[] strnumber = strSource.Split(new string[] { "性别:", "出生日期:", "发证地:", "点击这里查询验证身份", "提示:" }, StringSplitOptions.RemoveEmptyEntries);
string[] strnumber1 = null;
if (strnumber.Length > 3)
{
strnumber1 = new string[] { strnumber[1].Trim(), strnumber[2].Trim(), strnumber[3].Trim() };
}

return strnumber1;
}
catch (Exception)
{
return null;
}
}


自己没事动手写了个,虽然不怎么样但是拿出来大家看看吧,呵呵,这还可以使用正则来实现,而且非常方便,

我们还以第一个查询手机号的为例子来看吧

//归属地
string ad = GetMatch(Getaddress(), "class=tdc2>(.*)</TD>").Replace(" ", "_");
string[] str1 = ad.Split('_');
Privoice = str1[0].ToString().Trim();
City = str1[1].ToString().Trim();


GetMatch()方法的代码如下所示。

//得到数据
public static string GetMatch(string strSource, string strRegex)
{
try
{
Regex r;
MatchCollection m;
r = new Regex(strRegex, RegexOptions.IgnoreCase);
m = r.Matches(strSource);

if (m.Count <= 0) return "";

return m[1].Groups[1].Value;
}
catch
{
return "";
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: