C# 根据IP获取省市


/// <summary>

        /// 根据IP获取省市

        /// </summary>

        public void GetAddressByIp()

        {

            string ip = "115.193.217.249";

            string PostUrl = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=" + ip;

            string res = GetDataByPost(PostUrl);//该条请求返回的数据为:res=1\t115.193.210.0\t115.194.201.255\t中国\t浙江\t杭州\t电信


            string[] arr = getAreaInfoList(res);

        }


        /// <summary>

        /// Post请求数据

        /// </summary>

        /// <param name="url"></param>

        /// <returns></returns>

        public string GetDataByPost(string url)

        {

            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

            string s = "anything";

            byte[] requestBytes = System.Text.Encoding.ASCII.GetBytes(s);

            req.Method = "POST";

            req.ContentType = "application/x-www-form-urlencoded";

            req.ContentLength = requestBytes.Length;

            Stream requestStream = req.GetRequestStream();

            requestStream.Write(requestBytes, 0, requestBytes.Length);

            requestStream.Close();


            HttpWebResponse res = (HttpWebResponse)req.GetResponse();

            StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);

            string backstr = sr.ReadToEnd();

            sr.Close();

            res.Close();

            return backstr;

        }


        /// <summary>

        /// 处理所要的数据

        /// </summary>

        /// <param name="ip"></param>

        /// <returns></returns>

        public static string[] getAreaInfoList(string ipData)

        {

            //1\t115.193.210.0\t115.194.201.255\t中国\t浙江\t杭州\t电信

            string[] areaArr = new string[10];

            string[] newAreaArr = new string[2];

            try

            {

                //取所要的数据,这里只取省市

                areaArr = ipData.Split('\t');

                newAreaArr[0] = areaArr[4];//省

                newAreaArr[1] = areaArr[5];//市

            }

            catch (Exception e)

            {

                // TODO: handle exception

            }

            return newAreaArr;

        }

转载于:https://www.cnblogs.com/hefeilong/p/5714925.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值