当前位置: 首页 > news >正文

郑州网站推广有什么可以做推广的软件

郑州网站推广,有什么可以做推广的软件,手机网站支持微信支付吗,商城移动端网站开发摘要 获取客户端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?type=checkIP&REMOTE_ADDR={ip}function getMethod_5($ip) {$response = cUrlGetIP('https://c.runoob.com/wp-content/themes/toolrunoob2/option/ajax.php?type=checkIP&REMOTE_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.yidumall.com/news/64475.html

相关文章:

  • 用帝国cms做的网站首页百度推广效果怎样一天费用
  • 百度不收录手机网站吗深圳关键词推广优化
  • 给个手机网站就这么难吗电商线上推广
  • 手机网站建设域名空间关键词排名提升工具
  • 手机网站 备案品牌战略
  • 中华南大街网站建设宁波seo链接优化
  • 做社区生意的网站立即优化在哪里
  • 百度网站上传西安关键词优化软件
  • 网站的程序和数据库怎么做网站推广服务报价表
  • 做网站给源码吗建网站的公司排名
  • 美团网站网站建设发展百度竞价登录
  • 南京网站优化方案深圳网络推广外包公司
  • 微信网站怎样做湖北网络推广
  • 做网站图片为什么不清晰整站优化全网营销
  • 网站地图xml文件百度推广怎么添加关键词
  • pre_get_posts wordpress长沙seo公司
  • 松江网站建设链接买卖价格
  • 界首做网站网络营销一个月能挣多少钱
  • 基金会网站建设方案海外营销公司
  • 有口碑的番禺网站建设seo前线
  • 绵阳市 政府网站建设百度推广做二级域名
  • 网站首页搜索功能的id怎做东莞市网络seo推广服务机构
  • 公司网站怎么做地方网站建设
  • 怎么做qq业务网站黄冈地区免费网站推广平台
  • 福永网站制作search搜索引擎
  • 购物网站代码百度服务中心人工客服电话
  • dreamweaver网页设计报告汕头搜索引擎优化服务
  • 珠海建设网站的公司简介不受限制的浏览器
  • 如何做推广自己网站户外广告
  • 中国建设部官方网站百度免费推广方法