aipdw/api/index.php
2021-10-03 19:14:20 +08:00

65 lines
1.7 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
error_reporting(0);
date_default_timezone_set('PRC');
header('Access-Control-Allow-Origin: *');
header('Content-type: application/json');
// 应用API KEY
const API_KEY = "";
function curl_get($url){
$header = array(
'Accept: application/json',
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_TIMEOUT, 1);
curl_setopt($curl, CURLOPT_TIMEOUT_MS, 500);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
$data = curl_exec($curl);
// 显示错误信息
if (curl_error($curl)) {
return "Error: " . curl_error($curl);
} else {
// 打印返回的内容
return ($data);
}
curl_close($curl);
}
function is_domain($domain){
$pat = "/^(\w+:\/\/)?([^\/]+)/i";
if(preg_match($pat, $domain, $matches)){
if($matches[2]){
return 1;
}else{
return 0;
}
}else{
return 0;
}
}
$ip = isset($_GET["ip"])?$_GET["ip"]:'';
$type = 4;
if(!filter_var($ip, FILTER_VALIDATE_IP)){
//非合法IP则判断是否是域名
if(is_domain($ip)){
$ip = gethostbyname($ip); //是域名则获取该域名的IP
}else{
//既非IP也非域名此处做错误任务处理
}
}
if(filter_var($ip,FILTER_VALIDATE_IP,FILTER_FLAG_IPV4)){
// ip4
$type = 4;
} else if(filter_var($ip,FILTER_VALIDATE_IP,FILTER_FLAG_IPV6)){
//ip6
$type = 6;
}
$url = sprintf("https://restapi.amap.com/v5/ip?key=%s&type=%s&ip=%s",API_KEY,$type, urlencode($ip));
echo curl_get($url);