开发者社区> 问答> 正文

菜鸟提问关于获取用户真实ip的问题

#$ip = $_SERVER["REMOTE_ADDR"];
$api = "http://ip.taobao.com/service/getIpInfo.php?ip=myip";
//初始化
    $curl = curl_init();
    //设置抓取的url
    curl_setopt($curl, CURLOPT_URL, $api);
    //设置获取的信息以文件流的形式返回,而不是直接输出。
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    //执行命令
    $data = curl_exec($curl);
    //关闭URL请求
    curl_close($curl);
    //显示获得的数据


$str=$data;
$t1 = mb_strpos($str,'ip":"'+1);
$t2 = mb_strpos($str,'","country');
$ip = mb_substr($str,$t1,$t2-$t1);
echo $ip;
返回结果一致
通过api提交阿里云修改域名解析 前者可以通过后者则提示The DNS record is invalid or in the wrong format.求大神解答

展开
收起
思达吖 2018-08-12 16:42:32 3128 0
1 条回答
写回答
取消 提交回答
  • Re菜鸟提问关于获取用户真实ip的问题
    1. if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    2.   $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
    3.   $pos = array_search('unknown', $arr);
    4.   if (false !== $pos) {
    5.    unset($arr[$pos]);
    6.   }
    7.   $ip = trim(current($arr));
    8. } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
    9.   $ip = $_SERVER['HTTP_CLIENT_IP'];
    10. } elseif (isset($_SERVER['REMOTE_ADDR'])) {
    11.   $ip = $_SERVER['REMOTE_ADDR'];
    12. }
    thinkphp 中的代码,希望对您有用。


    2018-08-12 17:43:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
视频内容理解的研究与实践 立即下载
案例:打造超越用户期待的服务体验 立即下载
案例:打造超越用户期待 的服务体验 立即下载