通过ip获取地址的三种方式

[复制链接]
查看: 258|回复: 0

该用户从未签到

52

主题

52

帖子

277

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
277
发表于 2018-2-5 23:48:48 | 显示全部楼层 |阅读模式
有的时候我们需要根据用户的IP地址,定位用户所在的城市,或者经纬度,小编尝试了几种方法都可以,分享给大家,需要源码的可以留言小编,下面是通过ip地址获取对应的地址信息

  • 通过ip获取对应的地址信息(新浪查询)

/// <summary>
/// 通过ip获取对应的地址信息(新浪查询)
/// </summary>
/// <param name="ip">ip地址</param>
/// <returns></returns>
public static string GetAddressByIPfromSina(string ip)
{
string url = string.Format(@"http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip={0}", ip);
string result = GetRequestResult(url);
return Regex.Unescape(result);
}
2.通过ip获取对应的地址信息(淘宝查询)
/// <summary>
/// 通过ip获取对应的地址信息(淘宝查询)
/// </summary>
/// <param name="ip">ip地址</param>
/// <returns></returns>
public static string GetAddressByIPfromTaobao(string ip)
{
string url = string.Format(@"http://ip.taobao.com/service/getIpInfo.php?ip={0}", ip);
string result = GetRequestResult(url);
return Regex.Unescape(result);
}
3.通过ip获取对应的地址信息(百度查询)
/// <summary>
/// 通过ip获取对应的地址信息(百度查询)
/// </summary>
/// <param name="ip">ip地址</param>
/// <returns></returns>
public static string GetAddressByIPfromBaidu(string ip)
{
string url = string.Format(@"https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query={0}&co=&resource_id=6006&t=1478007629021&ie=utf8&oe=gbk&cb=op_aladdin_callback&format=json&tn=baidu&cb=jQuery110206812252158470637_1478007583131&_=1478007583168", ip);
string result = GetRequestResult(url);
return Regex.Unescape(result);
}
查询方法:
/// <summary>
/// 获取请求url响应消息
/// </summary>
/// <param name="url">url地址</param>
/// <returns></returns>
public static string GetRequestResult(string url)
{
try
{
string responseResult = "";
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
System.IO.Stream responseStream = response.GetResponseStream();
System.IO.StreamReader str = new System.IO.StreamReader(responseStream, System.Text.Encoding.GetEncoding("GBK"));
responseResult = str.ReadToEnd();
str.Close();
str.Dispose();
responseStream.Close();
return responseResult;
}
catch (Exception ex)
{
return "-1";
}
}
附上共享链接地址:https://1drv.ms/u/s!Ath1PRgsHdpJg1Hybnycn8xttyWo,如果文章还不错,给小编一个一个赞吧,赞下又不会怀孕的.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 反馈建议:admin@qf3k.com
  • 工作时间:周一到周五 10:00-19:00

关注我们

Copyright   ©2016-2018  千峰社区-IT技术交流社区|技术资源分享平台|编程语言|软件分享|建站开发|JAVA C#.NET开发  Powered by©Discuz!  技术支持:QF3K-TEAM     ( 苏ICP备16043464号-2千峰千峰千峰千峰千峰千峰千峰