将所有结果分离自:'http://ip-api.io/json/$ipaddress' 地理位置数据。 PHP

Separating all of the results from: 'http://ip-api.io/json/$ipaddress' geo location data. PHP

我无法获得可疑因素,其他一切正常。 我正在尝试格式化 http://ip-api.io/json/$ipaddress 的所有元素以显示在联系我们的电子邮件中。

我的代码如下:

$ipad = getenv("REMOTE_ADDR"); 
$data = json_decode(file_get_contents("http://ip-api.io/json/$ipad"));  

$loc = "IP Address: " . $data->ip
     . "\r\n"
     . "Country Code: " . $data->country_code
     . "\r\n"
     . "Country Name: " . $data->country_name
     . "\r\n"
     . "City: " . $data->city
     . "\r\n"
     . "Region Code: " . $data->region_code
     . "\r\n"
     . "Region Name: " . $data->region_name
     . "\r\n"
     . "Zip Code: " . $data->zip_code
     . "\r\n"
     . "Time Zone: " . $data->time_zone
     . "\r\n"
     . "Latitude: " . $data->latitude
     . "\r\n"
     . "Longitude: " . $data->longitude
     . "\r\n"
     . "Metro Code: " . $data->metro_code
     . "\r\n"
     . "Suspicious factors: " ## nothing below here displays
     . "\r\n"
     . "Is Proxy: " . $data->is_proxy
     . "\r\n"
     . "Is Tor Node: " . $data->is_tor_node
     . "\r\n"
     . "Is Spam: " . $data->is_spam
     . "\r\n"
     . "Is suspicious: " . $data->is_suspicious
     . "\r\n\r\n"; 

受过去的启发post:geo location discussion

原始结果完整,但存在可疑因素:

{"ip":"75.132.132.182",
 "country_code":"US",
 "country_name":"United States",
 "region_code":"IL",
 "region_name":"Illinois",
 "city":"Belleville",
 "zip_code":"62221",
 "time_zone":"America/Chicago",
 "latitude":38.5121,
 "longitude":-89.8998,
 "metro_code":609,
 "suspicious_factors":
 {"is_proxy":false,
  "is_tor_node":false,
  "is_spam":false,
  "is_suspicious":false
  }
}

显示每个可疑因素需要什么处理?

编辑:修改如下,结果值仍然缺失。

     . "Suspicious factors: " 
     . "\r\n"
     . "Is Proxy: " . $data->suspicious_factors->is_proxy
     . "\r\n"
     . "Is Tor Node: " . $data->suspicious_factors->is_tor_node
     . "\r\n"
     . "Is Spam: " . $data->suspicious_factors->is_spam
     . "\r\n"
     . "Is suspicious: " . $data->suspicious_factors->is_suspicious
     . "\r\n\r\n";

试试这个代码

    $ipad = getenv("REMOTE_ADDR"); 
    $data = json_decode(file_get_contents("http://ip-api.io/json/$ipad"));  
    $suspicious = $data->suspicious_factors;
    $loc = "IP Address: " . $data->ip
         . "\r\n"
         . "Country Code: " . $data->country_code
         . "\r\n"
         . "Country Name: " . $data->country_name
         . "\r\n"
         . "City: " . $data->city
         . "\r\n"
         . "Region Code: " . $data->region_code
         . "\r\n"
         . "Region Name: " . $data->region_name
         . "\r\n"
         . "Zip Code: " . $data->zip_code
         . "\r\n"
         . "Time Zone: " . $data->time_zone
         . "\r\n"
         . "Latitude: " . $data->latitude
         . "\r\n"
         . "Longitude: " . $data->longitude
         . "\r\n"
         . "Metro Code: " . $data->metro_code
         . "\r\n"
         . "Suspicious factors: " 
         . "\r\n"
         . "Is Proxy: " . ($data->suspicious_factors->is_proxy ? 'true' : 'false')
         . "\r\n"
         . "Is Tor Node: " . ($data->suspicious_factors->is_tor_node ? 'true' : 'false')
         . "\r\n"
         . "Is Spam: " . ($data->suspicious_factors->is_spam ? 'true' : 'false')
         . "\r\n"
         . "Is suspicious: " . ($data->suspicious_factors->is_suspicious ? 'true' : 'false')
         . "\r\n\r\n";