tipdw/api/index.php

56 lines
1.5 KiB
PHP
Raw Normal View History

2021-10-03 16:47:40 +08:00
<?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);
2021-10-03 19:20:25 +08:00
curl_setopt($curl, CURLOPT_TIMEOUT_MS, 500);
2021-10-03 16:47:40 +08:00
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);
}
2021-10-03 19:20:25 +08:00
function is_domain($domain){
$pat = "/^(\w+:\/\/)?([^\/]+)/i";
if(preg_match($pat, $domain, $matches)){
if($matches[2]){
return 1;
}else{
return 0;
}
}else{
return 0;
}
}
2021-10-03 16:47:40 +08:00
$ip = isset($_GET["ip"])?$_GET["ip"]:'';
2021-10-03 19:20:25 +08:00
if(!filter_var($ip, FILTER_VALIDATE_IP)){
//非合法IP则判断是否是域名
if(is_domain($ip)){
$ip = gethostbyname($ip); //是域名则获取该域名的IP
}else{
//既非IP也非域名此处做错误任务处理
}
}
2021-10-03 16:47:40 +08:00
$url = sprintf("https://apis.map.qq.com/ws/location/v1/ip?ip=%s&key=%s", urlencode($ip), API_KEY);
echo curl_get($url);