这段PHP发生了一些非常奇怪的事情.它不是填充$ country变量,而是将整个json打印到浏览器窗口.我不明白为什么这样做.
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"http://ipinfo.io/".$this_ip."/json"); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"); $headers = array(); $headers[] = 'Referer: http://www.example.com'; curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $json = curl_exec ($ch); curl_close ($ch); $decode = json_decode($json,true); $country = $decode[country];
这是它吐出的整个错误:
{ "ip": "8.8.8.8", "hostname": "google-public-dns-a.google.com", "city": "Mountain View", "region": "California", "country": "US", "loc": "37.3860,-122.0838", "org": "AS15169 Google Inc.", "postal": "94040" }
Notice: Trying to get property of non-object in /var/www/html/example.php on line 59
另外,为什么我得到这个非对象错误?
添加curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
你的卷曲