分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

php 接口获取公网ip并获取天气接口信息

发布时间:2023-09-06 02:11责任编辑:胡小海关键词:暂无标签
<?php ???function get_ip(){ ???????//判断服务器是否允许$_SERVER ???????if(isset($_SERVER)){ ???????????????if(isset($_SERVER[‘HTTP_X_FORWARDED_FOR‘])){ ???????????????$realip = $_SERVER[‘HTTP_X_FORWARDED_FOR‘]; ???????????}elseif(isset($_SERVER[‘HTTP_CLIENT_IP‘])) { ???????????????$realip = $_SERVER[‘HTTP_CLIENT_IP‘]; ???????????}else{ ???????????????$realip = $_SERVER[‘REMOTE_ADDR‘]; ???????????} ???????}else{ ???????????//不允许就使用getenv获取 ?????????????if(getenv("HTTP_X_FORWARDED_FOR")){ ?????????????????$realip = getenv( "HTTP_X_FORWARDED_FOR"); ???????????}elseif(getenv("HTTP_CLIENT_IP")) { ?????????????????$realip = getenv("HTTP_CLIENT_IP"); ???????????}else{ ?????????????????$realip = getenv("REMOTE_ADDR"); ???????????} ???????} ???????return $realip; ???} ?????????function getIp(){ ???????$ip = get_ip(); ???????if($ip==‘127.0.0.1‘){ ???????????$myIp = ‘myip‘; ???????} ????????//初始化 ???????$curl = curl_init(); ???????//设置抓取的url ???????curl_setopt($curl, CURLOPT_URL, ‘http://ip.taobao.com/service/getIpInfo.php?ip=‘.$myIp); ???????//设置头文件的信息作为数据流输出 ???????curl_setopt($curl, CURLOPT_HEADER, 0); ???????//设置获取的信息以文件流的形式返回,而不是直接输出。 ???????curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); ???????//执行命令 ???????curl_multi_getcontent( $curl ); ???????$data = curl_exec($curl); ???????//关闭URL请求 ???????curl_close($curl); ???????????????//显示获得的数据 ???????return json_decode($data,true); ???} ???????function weather($chengshi){ ???????$url = ‘http://wthrcdn.etouch.cn/weather_mini?city=‘.urlencode($chengshi); ???????$html = file_get_contents($url); ???????$jsondata = gzdecode($html); ???????$data=json_decode($jsondata,true); ???????$arr=array(); ???????$arr[‘chengshi‘]=$data[‘data‘][‘city‘]; ???????$dangtian=$data[‘data‘][‘forecast‘][0]; ???????$arr[‘gaowen‘]= str_replace("高温 ",null,$dangtian[‘high‘]); ???????$arr[‘diwen‘]= str_replace("低温 ",null,$dangtian[‘low‘]); ???????$arr[‘tianqi‘]=$dangtian[‘type‘]; ???????return $arr; ???} ???????$area = getIp(); ???if(isset($area[‘data‘][‘city‘])){ ???????$city = $area[‘data‘][‘city‘]; ???????$weather = weather($city); ???????print_r($weather); ???}

php 接口获取公网ip并获取天气接口信息

原文地址:https://www.cnblogs.com/zhanghanwen16/p/9512032.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved