西安年网站建设抖抈app软件下载

pingmian/2026/1/21 10:53:55/文章来源:
西安年网站建设,抖抈app软件下载,摄影网站开发,设计公司照片摘要 获取客户端ip地址#xff0c;然后使用这个ip地址获取所在的国家、省份、城市#xff0c;可以在网站中实现IP属地#xff0c;发布地等功能。 本文的获取IP地址信息均采自网络上免费的IP查询网站#xff0c;通过其API或者网页HTML解析出的ip地址信息。 代码 ?p…摘要 获取客户端ip地址然后使用这个ip地址获取所在的国家、省份、城市可以在网站中实现IP属地发布地等功能。 本文的获取IP地址信息均采自网络上免费的IP查询网站通过其API或者网页HTML解析出的ip地址信息。 代码 ?php// 编码header(Content-type:application/json);$ip $_GET[ip];// 过滤空数据if(!$ip) {$ipinfo array(code 201,msg 未传入ip地址);echo json_encode($ipinfo,JSON_UNESCAPED_UNICODE);exit;}// 验证ipv4地址合法性if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {$ipinfo array(code 201,msg 这不是一个正确的ip地址);echo json_encode($ipinfo,JSON_UNESCAPED_UNICODE);exit;}// 请求接口$methods [getMethod_1,getMethod_2,getMethod_3,getMethod_4,getMethod_5];foreach ($methods as $method) {$response json_decode($method($ip));if ($response-code 200) {// 如果请求成功输出请求结果并停止循环echo $method($ip);break;}}if (!isset($response) || $response-code ! 200) {$ipinfo array(code 201,msg 请求失败~);echo json_encode($ipinfo,JSON_UNESCAPED_UNICODE);exit;}// HTTP请求封装function cUrlGetIP($url) {// cUrl$ch curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$header[] user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36;curl_setopt($ch, CURLOPT_HTTPHEADER, $header);return curl_exec($ch);curl_close($ch);}// 中国34个省级行政区域$provinces array(北京,天津,河北,山西,内蒙古,辽宁,吉林,黑龙江,上海,江苏,浙江,安徽,福建,江西,山东,河南,湖北,湖南,广东,广西,海南,重庆,四川,贵州,云南,西藏,陕西,甘肃,青海,宁夏,新疆,香港,澳门,台湾);// 接口1// http://ipshudi.com/{ip}.htmfunction getMethod_1($ip) {$response file_get_contents(http://ipshudi.com/.$ip..htm);$str1 substr($response, strripos($response, 归属地));$str2 substr($str1, 0, strrpos($str1, 运营商));$str3 substr($str2, strripos($str2, span) 6);$str4 substr($str3, 0, strripos($str3, /span) 6);// 提取国家$country substr($str4, 0, strpos($str4, ));// 提取省份$str5 substr($str4, 0, strrpos($str4, a href));$province substr($str5, strpos($str5, ) 1);// 提取城市preg_match(/([^])/, $str4, $matches);$city $matches[1];// 提取县区$str6 substr($str4, strripos($str4, /a));$district preg_replace(/[^\x{4e00}-\x{9fa5}]/u, , $str6);// 判断是否获取成功if($country || $province || $city || $district) {// 拼接数组$ipinfo array(code 200,msg 获取成功,ipinfo array(country $country,province $province,city $city,district $district,ip $ip));}else {$ipinfo array(code 201,msg 获取失败);}return json_encode($ipinfo,JSON_UNESCAPED_UNICODE);}// 接口2// https://searchplugin.csdn.net/api/v1/ip/get?ip{ip}function getMethod_2($ip) {$response cUrlGetIP(https://searchplugin.csdn.net/api/v1/ip/get?ip.$ip);$code json_decode($response,true)[code];if($code 200) {$str1 json_decode($response,true)[data][address];// 国家$country explode( , $str1)[0];// 省份$province explode( , $str1)[1];// 城市$city explode( , $str1)[2];// 县区$district ;// 判断是否获取成功if($country || $province || $city || $district) {// 拼接数组$ipinfo array(code 200,msg 获取成功,ipinfo array(country $country,province $province,city $city,district $district,ip json_decode($response,true)[data][ip]));}else {$ipinfo array(code 201,msg 获取失败);}}else {$ipinfo array(code 201,msg 获取失败);}return json_encode($ipinfo,JSON_UNESCAPED_UNICODE);}// 接口3// https://ipchaxun.com/{ip}/function getMethod_3($ip) {$response cUrlGetIP(https://ipchaxun.com/.$ip./);$str1 substr($response, strripos($response, 归属地) 15);$str2 substr($str1, 0, strrpos($str1, 运营商));// 提取省份global $provinces;foreach ($provinces as $province_) {if (strpos($str2, $province_) ! false) {$province $province_;break;}}// 提取国家$str3 substr($str2, 0, strrpos($str2, $province));$country preg_replace(/[^\x{4e00}-\x{9fa5}]/u, , $str3);// 提取城市$str4 substr($str2, strripos($str2, nofollow) 10);$city substr($str4, 0, strrpos($str4, /a));// 提取县区$str6 substr($str2, strripos($str2, /a) 4);$district substr($str6, 0, strrpos($str6, /span));// 判断是否获取成功if($country || $province || $city || $district) {// 拼接数组$ipinfo array(code 200,msg 获取成功,ipinfo array(country $country,province $province,city $city,district $district,ip $ip));}else {$ipinfo array(code 201,msg 获取失败);}return json_encode($ipinfo,JSON_UNESCAPED_UNICODE);}// 接口4// https://api.vvhan.com/api/getIpInfo?ip{ip}function getMethod_4($ip) {$response cUrlGetIP(https://api.vvhan.com/api/getIpInfo?ip.$ip);$success json_decode($response,true)[success];if($success true) {$str1 json_decode($response,true)[info];// 国家$country $str1[country];// 省份$province $str1[prov];// 城市$city $str1[city];// 县区$district ;// 判断是否获取成功if($country || $province || $city || $district) {// 拼接数组$ipinfo array(code 200,msg 获取成功,ipinfo array(country $country,province $province,city $city,district $district,ip $ip));}else {$ipinfo array(code 201,msg 获取失败);}}else {$ipinfo array(code 201,msg 获取失败);}return json_encode($ipinfo,JSON_UNESCAPED_UNICODE);}// 接口5// https://c.runoob.com/wp-content/themes/toolrunoob2/option/ajax.php?typecheckIPREMOTE_ADDR{ip}function getMethod_5($ip) {$response cUrlGetIP(https://c.runoob.com/wp-content/themes/toolrunoob2/option/ajax.php?typecheckIPREMOTE_ADDR.$ip);$flag json_decode($response,true)[flag];if($flag true) {$str1 json_decode($response,true)[data];// 国家$country $str1[country];// 省份$province $str1[regionName];// 城市$city $str1[city];// 县区$district ;// 判断是否获取成功if($country || $province || $city || $district) {// 拼接数组$ipinfo array(code 200,msg 获取成功,ipinfo array(country $country,province $province,city $city,district $district,ip $ip));}else {$ipinfo array(code 201,msg 获取失败);}}else {$ipinfo array(code 201,msg 获取失败);}return json_encode($ipinfo,JSON_UNESCAPED_UNICODE);}?使用 https://域名/getipInfo.php?ip需要查询的IP地址 一共有5个接口接口失效会使用下一个接口直到接口成功最终输出数据格式如下 {code:200,msg:获取成功,ipinfo:{country:中国,province:广东省,city:广州市,district:番禺区,ip:xx.xx.xxx.xx}}作者 TANKING

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哪个网站做简历免费网络推广公司

有一天,我的同事问我,他应该如何做一个快速预测模型而不是Excel,并产生比线性回归或Excel图中的那些简单方程更好的结果。这是我的答案。 TableCurve 2D (Image by author) Sigmaplot很早以前就推出了这个软件。它已被广泛用于在数据中寻找最…

重庆价格低建设网站公司中山市企业网站seo哪里好

作者:http://m.jb51.net/article/48304.htm?fromtimeline&isappinstalled0本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你…

网站建设与制作与维护昌大建设集团大老板

构建明智的错误处理工作流程需要什么? 生产异常处理是一门黑暗的科学。 一旦您的代码投入生产,任何小的缺陷或故障都可以转化为数百万个日志事件。 尤其是在将异常作为控制流的一部分使用的情况下。 它是研究最少的主题,对您的应用程序的行…

专门做油画交流的网站做动漫网站侵权吗

来源:立委NLP频道图灵测试的实质就是要让人机交互在限定时间内做到真假莫辨。玩过GPT3的同学们都清楚,其实这一点已经做到了。从这个角度看,图灵测试已经过时了。区别人和机器,需要寻找其他的标准。今天就唠一唠正在风口上的预训练…

广州网站建设技术托管沈阳鹊起网站建设

我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传。 先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pull 因为他们是两个不同的项目,要把两个不同的项目合并…

做自己的网站有什么用手机服务器

计算机程序在处理数据时会进行大量的计算,而数据的运算则需要借助运算符和表达式来完成。表达式是指由操作数和运算符组成的用于完成某种运算功能的语句子表达式Y X * ( Z 10 ) 表达式 其中Y、X、Z、10 称为操作数,、*、 称为运算符。 在…

国外网站建设wordpress visual composer

目录 一、存储引擎 1、MySQL体系结构 2、存储引擎简介 3、存储引擎特点 InnoDB MyISAM Memory 4、存储引擎选择 二、索引 1、索引概述 2、索引结构 3、索引分类 4、索引语法 5、SQL性能分析 5.1 SQL执行频率 5.2 慢查询日志 5.3 profile详情 5.4 explain执行…

网站制作小常识wordpress 显示二级分类

看起来你正在使用教程,但是你发布的内容并不完整,这使得你很难看到你的案例发生了什么。在我会仔细检查你的密码。如果看起来正确,请检查日志输出。在日志应该如下所示:[ ... Scrapy log here ... ]2016-09-19 12:09:27 [scrapy.c…

使用本地主机做网站代理公司注册登记

目录 心情: 55.999999999999993: 题意: 思路: 核心代码: 心情: Div.2,我竟然在50分钟内C题做掉了,想着B题做了基本上不会掉分了这把,B题要考什么我也清楚&#xff0…

华为网站建设费用申请邮箱账号注册

1.集合:我们把研究对象统称为元素,把一些元素组成的的总体叫作集合。 集合满足三个特性,即 确定性 , 无序性, 互异性 gather [1, 2, 3, 4, 5, 6] 2. 元素与集合的关系,只有(属于&#xff09…

城乡建设网站创同盟做网站好不好

在构建系统时,开发人员通常会忽略安全性方面。 安全一直是令人担忧的重要问题,但是它比以前吸引了更高的关注。 就在今年,我们发生了像Heartbleed Bug或CelebrityGate丑闻这样的案件。 这与帖子无关,只是安全真正重要的示例&#…

网站域名备案变更wordpress集成环境

在开源项目中提交PR(Pull Request)是一种常见的贡献方式,它允许开发者向项目仓库提交代码更改并请求合并到主分支中。以下是提交PR的一般步骤: Fork仓库:首先,你需要Fork(即复制)你想…

网站seo计划书网站建设规划书的制作

RestControllerAdvice RestControllerAdvice 是 Spring Framework(3.2)和 Spring Boot 中用于全局处理控制器层异常和统一响应格式的注解。它结合了 ControllerAdvice 和 ResponseBody 的功能,能够拦截控制器方法抛出的异常,并以 …

学做窗帘要下载哪个网站想接网站自己做

信号处理的任务示意方框图 模拟信号和数字信号分别是啥样的,有啥区别

太原营销型网站万荣做网站

Timer 控件可以定期引发事件,该控件是为 Windows 窗体环境设计的。时间间隔的长度由 Interval 属性定义,其值以毫秒为单位。若启用了该组件,则每个时间间隔引发一个 Tick 事件,在该事件中添加要执行的代码。如图1 所示为 Timer 控…

揭阳网站制作计划南宁免费建站系统

新世纪“绝”句上联:男生,女生,穷书生,生生不息! 下联:初恋,热恋,婚外恋,恋恋不舍!横批:生无可恋 上联:博士生,研究生,本科生,生生不息&#xff…

上海黄浦 网站建设开发触屏版网站标签

一家新的餐馆开业了,为了吸引更多的顾客,每样餐品都有打折的活动。特别的,餐馆内一共有𝑛样菜品,编号从 1 1 1 到 n n n,每样菜品每人最多只能点一次。对于第 i i i 种菜品,其包含两种价格&a…

巩义做网站的廊坊关键词优化报价

随着生活节奏的加快,很多人抱怨压力越来越大。美国《赫芬顿邮报》近日载文指出,一些压力是外在压力,而更多的压力来自我们自身。以下就是在不知不觉中增加自身压力的习惯。 忘记每日大笑 如果你想不起来上次捧腹大笑的时间,你就该…

上海大型网站建设手工灯笼简单又好看

二分图--匈牙利算法匹配 P2319 [HNOI2006] 超级英雄 P1894[USACO4.2] 完美的牛栏The Perfect Stall P2071 座位安排 分层图 P4822 [BJWC2012] 冻结 P4568[JLOI2011] 飞行路线 P2939 [USACO09FEB] Revamping Trails G 最短路 P2149[SDOI2009] Elaxia的路线 Elaxia 和 w*…

短期网站开发培训动画片制作教程

条件变量属性:使用条件变量可以以原子方式阻塞线程,知道某个特定条件为真为止。条件变量始终与互斥锁一起使用。使用条件变量,线程可以以原子方式阻塞,知道满足某个条件为止。对掉件的测试时在互斥锁的保护下进行的。如果条件为假…