c#百度IP定位API使用方法
c#百度IP定位API使用方法
1.先建立一个收集信息的实体类
IPModel.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model
{
public class IpModel
{
[Serializable]
public class AddressForQueryIPFromBaidu { public string Address { get; set; } public Content Content { get; set; } public string Status { get; set; } }
[Serializable]
public class Content { public string Address { get; set; } public Address_Detail Address_Detail { get; set; } public Point Point { get; set; } }
[Serializable]
public class Address_Detail { public string City { get; set; } public string City_Code { get; set; } public string District { get; set; } public string Province { get; set; } public string Street { get; set; } public string Street_Number { get; set; } }
[Serializable]
public class Point { public string X { get; set; } public string Y { get; set; } }
}
}
2.获取客户端IP:
string ipAddress = System.Web.HttpContext.Current.Request.UserHostAddress;
3.将获得的IP放入以下函数中
Model.IpModel.AddressForQueryIPFromBaidu baidu = GetAddressFromIP(ipAddress);
baidu.Content.Address_Detail ;//获取地址
GetAddressFromIP函数:
public static Model.IpModel.AddressForQueryIPFromBaidu GetAddressFromIP(string ip)
{
string baiduKey = "MXAEmre2rCTIYKSAMv1EVh0K";
string url = "http://api.map.baidu.com/location/ip?ak=" + baiduKey +"&ip="+ip+ "&coor=bd09ll";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
System.IO.Stream responseStream = response.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(responseStream, System.Text.Encoding.GetEncoding("utf-8"));
string responseText = sr.ReadToEnd(); sr.Close(); sr.Dispose();
responseStream.Close(); string jsonData = responseText;
JavaScriptSerializer jss = new JavaScriptSerializer();
Model.IpModel.AddressForQueryIPFromBaidu addressForQueryIPFromBaidu = jss.Deserialize<Model.IpModel.AddressForQueryIPFromBaidu>(jsonData);
return addressForQueryIPFromBaidu;
}
此函数里使用到了json需引用看上章
c#百度IP定位API使用方法的更多相关文章
- C#调用百度高精度IP定位API通过IP获取地址
API首页:http://lbsyun.baidu.com/index.php?title=webapi/high-acc-ip 1.申请百度账号,创建应用,获取密钥(AK) http://lbsyu ...
- 百度地图定位API,精度提高
我使用百度定位API DEMO上面好像就可以setCoorType("bd09ll");//百度地图坐标. 然后我找了下从其它坐标体系迁移到百度坐标. 问下: 1.那我还能不能在百 ...
- iOS 学习笔记五 【2016年百度地图定位详细使用方法】
具体介和配置绍在此就不详述了,详情请看百度地图API文档, 在这里具体讲解下,新版百度地图的定位与反地理编码的使用: 1.导入头文件 #import <BaiduMapAPI_Map/BMKMa ...
- android中百度地图定位的实现方法(仅适用于真机+WIFI联网环境)
注意:此代码的环境是:真机(系统版本为Android4.2.2)+WIFI联网(才能实现最后的运行结果):使用虚拟机调试会出现各种问题. 第一步:下载SDK和申请Key 到百度的网站http://de ...
- 百度ip定位城市接口调用
http://lbsyun.baidu.com/index.php?title=webapi/ip-api require 'rubygems' require 'json' print ARGV p ...
- 百度地图ip定位,不算bug的bug
做为一个入行不足两年的菜鸟,能在博客园写下第一篇博客,是需要多大的勇气啊.主要还是怕大神们喷啊.其次自己文笔实在太差了. 哈哈~还请各位大神,口下留情啊. 首先说下我的需求:一个需要城市分站的手机站. ...
- 使用百度定位Api获取当前用户登录地址
最近在做一个商城项目,客户想把网站做成类似于美团的效果,切换地区时,内容也跟随变化.这就要首先解决根据用户id获得地址的问题,最终决定使用百度定位(不适用于搭建反向代理的项目) String url ...
- 快速获取IP地址的各种方法
调用百度的IP定位API(首先需要去百度开放平台注册申请key值http://lbsyun.baidu.com/apiconsole/key) http://api.map.baidu.com/loc ...
- web端ip定位
1/新浪定位 <script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js">&l ...
随机推荐
- [GX/GZOI2019]宝牌一大堆(DP)
出这种麻将题有意思吗? 乍看很难实则很水,就是麻将式DP,想必大家很熟悉了吧.首先把“国士无双”和“七对子”两种牌型判掉,然后观察牌胡的形式,发现每多一张牌实际上就是把1个面子变成1个杠子,然后可以直 ...
- 大厂面试题:今天复试百度PHP工程师
今天下午来到北京百度科技园进行复试PHP工程师岗位. 面试官问了很多问题,我大概整理回忆下: 1.Redis秒杀实现? redis队列解决抢购高并发的原理: 在程序跟数据库之前呢我们可以利用redis ...
- 动态指定log4net日志文件名称
如果是希望日志文件按常见的日期格式动态命名,没什么好说的,直接修改app.config <param name="DatePattern" value="yyyyM ...
- vue点击复制文本粘贴
<template> <ul> <li> <input type="text" class="inpNone&quo ...
- 使用lambda表达式优雅你的事务代码
我们在实现业务逻辑时,经常会有这种需求: 1.在当前事务A中开启新事务B,事务B中发生异常不可以回滚A,事务B成功执行后返回事务B的返回值: 2.在当前事务A中开启新事务B,事务B中发生异常要求回滚A ...
- 网站爬取-案例四:知乎抓取(COOKIE登录抓取个人中心)(第二卷)
接着上卷来分析,作为开发人员我们都知道,登录是一个想指定URL发送POST请求的过程,所以我们需要找到请求的URL,以及字段,先用一个错误账号和密码做一下尝试,如果是正确的话会直接跳转到别的页面,这样 ...
- 79)PHP,session函数编写的注意事项
(1)先执行 session_set_save_handler() 在session_start(). (2)那么开启session_start(),有两种方法,一个就是session_start ...
- HihoCode-1053-居民迁移
解法: 一开始不会做,看到标签说是贪心加二分忽然就会了,二分是分的是人口最多居住点的人口,检查人口最多的居住点人口为mid是否可行.贪心是如果从左往右循环就尽量把人口往左迁移,如果从右往左循环就尽量把 ...
- golang seelog使用
golang中自带的有log包,但是功能并不能满足我们.很多人推荐seelog,我们今天一起学习下. 安装 go get github.com/cihub/seelog 快速开始 引用seelog w ...
- keep pace with |sixes and sevens.|Three dozen of |setting out|in despite of|appetite for|brought up|.turn to|leave behind|As can be seen|every
Heavy but not excessive: network capacity seems to have done little more than keep pace with economi ...