无法将Curl输出转换为JSON

时间:2017-11-01 19:50:13

标签: php json curl

第二眼的时间。我已经循环了一段时间了。网址http://freegeoip.net/json/似乎返回JSON。我似乎无法解码或解析它。任何帮助将不胜感激。代码如下:

    <?php

    //////////////////////////////////////////////////////////////////////
    //  Debug options
    //////////////////////////////////////////////////////////////////////
     error_reporting(E_ALL);
     error_reporting(E_ALL | E_STRICT);
     ini_set('display_errors', 1);

    function get_ip_address()
    {
        foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key) {
        if (array_key_exists($key, $_SERVER) === true) {
            foreach (explode(',', $_SERVER[$key]) as $ip) {
            if (filter_var($ip, FILTER_VALIDATE_IP) !== false) {
                return $ip;
            }
            }
        }
        }
    }

    $myIP = get_ip_address();

    $url = "http://freegeoip.net/json/" . $myIP;
    $cURL = curl_init();
    curl_setopt($cURL, CURLOPT_URL, $url);
    curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($cURL, CURLOPT_HTTPGET, true);
    curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Accept: application/json'
    ));

    $result = curl_exec($cURL);
    $myArray = json_decode($result);

    curl_close($cURL);

    //////////////////////////////////////////////////////////////////////
    //  Debug  
    //////////////////////////////////////////////////////////////////////
     echo $myArray->region_code . "<br />";
     echo $myArray->region_name . "<br />";
     echo $myArray->city . "<br />";
     echo $myArray->zip_code . "<br />";
     echo $myArray->time_zone . "<br />";
     echo $myArray->latitude . "<br />";
     echo $myArray->longitude . "<br />";
     echo $myArray->metro_code . "<br />";

1 个答案:

答案 0 :(得分:-1)

编辑:删除了答案。

我将代码放入我的服务器,它对我来说非常好。

他的服务器上是否禁用了curl?