获取Ip 的地域等信息接口-实例
今天项目要用到 查询访问网站用户的IP
然后网上查询了 资料还很多 不过有些已经失效了 在这总结下
腾讯,pconline 的API已经失效 不能使用
淘宝的IP接口地址: http://ip.taobao.com/instructions.php
腾讯的IP地址API接口地址:http://fw.qq.com/ipaddress
新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
新浪多地域测试方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=218.192.3.42
搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson
搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8
搜狐另外的IP地址查询接口:http://txt.go.sohu.com/ip/soip
这个上面大多都容易查到
还有一个 API比较全面
http://whois.pconline.com.cn 这个很强大 也比较详细
但是这个有问题 他JSON格式 属于回调 本地运行可以 放到项目里面就报错403
最终我也没有选择这个来使用
/** * 获取ip 接口 * @access public 以淘宝的接口为实例 */ public function get_ip_info($ip) { $curl = curl_init(); //这是curl的handle //下面是设置curl参数 $url = "http://ip.taobao.com/service/getIpInfo.php?ip=$ip"; curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl, CURLOPT_HEADER, 0); //don't show header curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //相当关键,这句话是让curl_exec($ch)返回的结果可以进行赋值给其他的变量进行,json的数据操作,如果没有这句话,则curl返回的数据不可以进行人为的去操作(如json_decode等格式操作) curl_setopt($curl, CURLOPT_TIMEOUT, 2); //这个就是超时时间了 $data = curl_exec($curl); return json_decode($data, true); }
没有无缘无故的荣耀
赞助我写出更好的博客
赞助我写出更好的博客