加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

利用webservice获取所有手机号归属地

发布时间:2020-12-17 00:30:01 所属栏目:安全 来源:网络整理
导读:添加一个http://api.showji.com/locating/Mobile.asmx的webservice引用 using System; using System.Collections.Generic; using System.Text; using System.Threading; using System.Data; using System.Data.SQLite; namespace GetMobileData { class GetD

添加一个http://api.showji.com/locating/Mobile.asmx的webservice引用

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Data;
using System.Data.SQLite;

namespace GetMobileData
{
class GetData
{
public void Get()
{
for ( int i = 0 ; i <= 9 ; i ++ )
{
new Thread( new ParameterizedThreadStart(GetThread)).Start(i);
}

// List<MobileInfo> mInfos = new List<MobileInfo>();

}

private void GetThread( object obj)
{
int nMobileBase = 1300001 ;
int nOffset = 1300000 ;
int i = ( int )obj;

nMobileBase
+= i * 10000 ;
nOffset
+= i * 10000 + 9999 ;
for ( int j = nMobileBase; j < nOffset; j ++ )
{
MobileInfo mInfo
= new MobileInfo();

mInfo.MobileCode
= j.ToString();
MobileService.Mobile mobileSrv
= new MobileService.Mobile();
Console.WriteLine(
" 正在查询 " + j);
mobileSrv.Query(j.ToString()
+ 1234 , out mInfo.Province, out mInfo.City, out mInfo.AreaCode, out mInfo.PostCode, out mInfo.CorpName, out mInfo.CardName);
Console.WriteLine(
" 正在保存 " + j);
SaveToDB(mInfo);
}
}

private void SaveToDB(MobileInfo mInfo)
{
SQLiteConnection liteConn
= new SQLiteConnection( " Data Source=E:UtilDatamobile;Version=3;New=True; " );
liteConn.Open();


string sSql = " INSERT INTO m_mobile_data (cMobileCode,cProvince,cCity,cAreaCode,cPostCode,cCorpName,cCardName) " +
" VALUES(@MobileCode,@Province,@City,@AreaCode,@PostCode,@CorpName,@CardName) " ;

SQLiteCommand liteCmd
= new SQLiteCommand(liteConn);
liteCmd.CommandText
= sSql;

// liteCmd.Parameters.
SQLiteParameter litePara = new SQLiteParameter();
litePara.ParameterName
= " MobileCode " ;
litePara.DbType
= DbType.String;
litePara.Value
= mInfo.MobileCode;
liteCmd.Parameters.Add(litePara);

litePara
= new SQLiteParameter();
litePara.ParameterName
= " Province " ;
litePara.DbType
= DbType.String;
litePara.Value
= mInfo.Province;
liteCmd.Parameters.Add(litePara);

litePara
= new SQLiteParameter();
litePara.ParameterName
= " City " ;
litePara.DbType
= DbType.String;
litePara.Value
= mInfo.City;
liteCmd.Parameters.Add(litePara);

litePara
= new SQLiteParameter();
litePara.ParameterName
= " AreaCode " ;
litePara.DbType
= DbType.String;
litePara.Value
= mInfo.AreaCode;
liteCmd.Parameters.Add(litePara);

litePara
= new SQLiteParameter();
litePara.ParameterName
= " PostCode " ;
litePara.DbType
= DbType.String;
litePara.Value
= mInfo.PostCode;
liteCmd.Parameters.Add(litePara);

litePara
= new SQLiteParameter();
litePara.ParameterName
= " CorpName " ;
litePara.DbType
= DbType.String;
litePara.Value
= mInfo.CorpName;
liteCmd.Parameters.Add(litePara);

litePara
= new SQLiteParameter();
litePara.ParameterName
= " CardName " ;
litePara.DbType
= DbType.String;
litePara.Value
= mInfo.CardName;
liteCmd.Parameters.Add(litePara);

liteCmd.ExecuteNonQuery();
liteConn.Close();
}
}

class MobileInfo
{
public string MobileCode;
public string Province;
public string City;
public string AreaCode;
public string PostCode;
public string CorpName;
public string CardName;
}
}

打算在PSP上做应用所以使用的sqlite.开了10个线程,暂时先跑130到139段

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读