<?php
namespace ip;
use think\Request;
class Shielded{
public function doGet($url){
//初始化
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
// 执行后不直接打印出来
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
// 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 不从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
return $output;
}
/**
* [is_china 通过自动获取ip,再判断ip是否是中国的]
* @Author lmkj
* @DateTime 2018-09-04
* @copyright [lmkj]
* @license [lmkj]
* @version [version]
* @return boolean [返回code和msg]
*/
public function is_china(){
//获取ip
$ip = request()->ip();
if (!$ip) {
return ['code' => 0, 'msg' => '获取不到ip'];
}
//通过ip检测是不是中国的
$taobao_param['ip'] = $ip;
$taobao_ip = $this->doGet('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);
$taobao_ip=json_decode($taobao_ip,true);
// dump($taobao_ip);
if ($taobao_ip['code'] == 0) {
if ($taobao_ip['data']['country'] == '中国') {
return ['code' => 1, 'msg' => 'ip是中国的!'];
}else{
return ['code' => 0, 'msg' => 'ip是不是中国或者为未查询到'];
}
}else{
return ['code' => 0, 'msg' => '查询失败'];
}
}
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。