IP定位,天气接口

Wesley13
• 阅读 781

首先获取IP

////获得本地真实IP    function get_onlineip() {        $ip_json = @file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=myip");        $ip_arr=json_decode(stripslashes($ip_json),1);        if($ip_arr['code']==0)        {            return $ip_arr['data']['ip'];        }    }这种百度一大堆,但是可能有时候在本地测试没有用,代码放到服务器上就有用了,通过IP再获取城市

////根据ip获得访客所在地地名    function Get_Ip_From($ip=''){        if(empty($ip)){            $ip = self::get_onlineip();        }        $ip_json=@file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);//根据taobao ip        $ip_arr=json_decode(stripslashes($ip_json),1);        if($ip_arr['code']==0)        {            return $ip_arr;        }        else        {            return false;        }    }

////获取访客操作系统function Get_Os(){    if(!empty($_SERVER['HTTP_USER_AGENT'])){        $OS = $_SERVER['HTTP_USER_AGENT'];        if (preg_match('/win/i',$OS)) {            $OS = 'Windows';        }        elseif (preg_match('/mac/i',$OS)) {            $OS = 'MAC';        }        elseif (preg_match('/linux/i',$OS)) {            $OS = 'Linux';        }        elseif (preg_match('/unix/i',$OS)) {            $OS = 'Unix';        }        elseif (preg_match('/bsd/i',$OS)) {            $OS = 'BSD';        }        else {            $OS = 'Other';        }        return $OS;    }    else{        return "unknow";    }}获取天气,但是只能都是3秒访问一次,我的解决方法,把今天这个城市的天气存到数据库中,然后从数据库读取

//天气,要传入一个城市    public function  weather($Position){         $weather =file_get_contents("http://www.sojson.com/open/api/weather/json.shtml?city=$Position");//        dd($weather);        return $ip_arr=json_decode($weather,true);//        return $weather;    }这是我获取天气的代码,看上去觉得冗余很多,而且这些接口服务器会降低网页的速度

IP定位,天气接口

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
java 用sevlet实现ip定位以及天气预报的功能
最近两天想实现一个登陆网站就可以自动显示该地区的的天气情况。很是苦恼。慢慢研究然后才其所得。研究的思路大致是这样的。ip定位–通过位置获取天气。首先声明一下,以前国家气象局的接口已经被封,以前直接传一个json数据就有天气情况,现在需要手动解析下。所以,这样的实际思路为:ip获取地址(操作获取城市名称)百度下载各城市对应编号
Wesley13 Wesley13
3年前
IP地址查询接口及调用方法
设计蜂巢IP地址查询接口:http://www.hujuntao.com/api/ip/ip.php腾讯IP地址查询接口:http://fw.qq.com/ipaddress新浪IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?formatjs搜狐I
Wesley13 Wesley13
3年前
Java获取HttpServletRequest真实的调用ip
有时候我们需要获取Http请求的源IP,但由于有着各种代理,与反向代理,还有代理请求头标准的缺失,导致我们想拿到真正的ip变得更加困难。这篇文章来总结下一个目前可行的比较全面的通用方法。首先,真实调用的ip,应该不是内网ip,并且考虑到客户端多样性,我们从通用的Header出发,并也考虑各种常见客户端的自定义Header。验证IP有效
Wesley13 Wesley13
3年前
Thinkphp中无法获取用户真实IP
TP6中无法获取到用户真实的IP,无法穿透代理,以下分享一个自用的获取IP的代码,估计TP5中存在同样的问题。获得用户的真实IP地址@accesspublic@returnstring/functionreal_ip(){
Wesley13 Wesley13
3年前
GNS3桥接问题
需求通过GNS3模拟器桥接笔记本本地网卡实现模拟器里面的路由器与真实网络互通步骤一:打开GNS3创建拓扑步骤二:拖一个cloud(云图标)到工作区步骤三:使用连线工具将路由器接口与cloud的以太网接口链接(双击cloud可以配置网卡)步骤四:笔记本本地网卡尽量不要配置IP,采用自动获取即可
Wesley13 Wesley13
3年前
JAVA获取本地ip地址
JAVA获取本地ip地址因为项目中正好用到本地IP地址,然后上网搜了一下,看写的不是特别详细,所以在这里补充一下。首先获取到本地设备的名称和IPInetAddressinetAddressInetAddress.getLocalHost();然后输出为:Q4ER6ZHVM5NWJ2X/1