根据手机号得到号码归属地,看到这个需求我便去网上找,一开始想抓取地址,一看别人的网页是用js填充归属地的,后来又发现可以用xml,js等多种方法得到,一步步跟踪别人的网址,最后发现他们都是根据网上一个免费提供的WebService。于是我直接调用这个WebService,便很方法的得到手机号码归属地了。
1、添加web引用。添加之后
2、就跟自己写的类一样的调用啦!哈哈
Code
/**//// <summary>
/// 更新定制用户的手机归属地
/// </summary>
public static void UpdatePhoneArea()
{
try
{
SqlHelper sql = new SqlHelper(SqlHelper.stockConString);
DataTable dt = sql.ExecuteDataTable("select * from PhoneHandtailor where Province is null and City is null");
com.showji.api.Mobile mobile = new bchataspx.com.showji.api.Mobile();
/**//*
* Mobile: 待查询的手机号码。
Province: 返回手机号码归属地的省份。
City: 返回手机号码归属地的城市。
AreaCode: 返回手机号码归属地的区号。
PostCode: 返回手机号码归属地的邮编。
Corp: 返回所属运营商。
Card: 返回所属卡类型。
*/
string province="";
string city = "";
string areacode = "";
string postCode="";
string Crop = "";
string Card = "";
string phone = "";
com.showji.api.Mobile m = new com.showji.api.Mobile();
for(int i = 0 ; i < dt.Rows.Count;i++)
{
phone = dt.Rows[i]["Phone"].ToString();
if(phone.Length > 2 && phone.Substring(0,2) == "86")
{
phone = phone.Substring(2);
}
bool r = m.Query(phone,out province,out city,out areacode,out postCode,out Crop,out Card);
province = province.Replace("'","");
city = city.Replace("'","");
if(r)
{
sql.ExecuteNonQuery("update PhoneHandtailor set Province='"+province+"',City = '"+city+"' where Phone='"+dt.Rows[i]["Phone"].ToString()+"'");
}
}
}
catch(Exception ex)
{}
}
/**//// <summary>
/// 更新定制用户的手机归属地
/// </summary>
public static void UpdatePhoneArea()
{
try
{
SqlHelper sql = new SqlHelper(SqlHelper.stockConString);
DataTable dt = sql.ExecuteDataTable("select * from PhoneHandtailor where Province is null and City is null");
com.showji.api.Mobile mobile = new bchataspx.com.showji.api.Mobile();
/**//*
* Mobile: 待查询的手机号码。
Province: 返回手机号码归属地的省份。
City: 返回手机号码归属地的城市。
AreaCode: 返回手机号码归属地的区号。
PostCode: 返回手机号码归属地的邮编。
Corp: 返回所属运营商。
Card: 返回所属卡类型。
*/
string province="";
string city = "";
string areacode = "";
string postCode="";
string Crop = "";
string Card = "";
string phone = "";
com.showji.api.Mobile m = new com.showji.api.Mobile();
for(int i = 0 ; i < dt.Rows.Count;i++)
{
phone = dt.Rows[i]["Phone"].ToString();
if(phone.Length > 2 && phone.Substring(0,2) == "86")
{
phone = phone.Substring(2);
}
bool r = m.Query(phone,out province,out city,out areacode,out postCode,out Crop,out Card);
province = province.Replace("'","");
city = city.Replace("'","");
if(r)
{
sql.ExecuteNonQuery("update PhoneHandtailor set Province='"+province+"',City = '"+city+"' where Phone='"+dt.Rows[i]["Phone"].ToString()+"'");
}
}
}
catch(Exception ex)
{}
}