【问题标题】:Get the data from api.hostip.info [duplicate]从 api.hostip.info 获取数据 [重复]
【发布时间】:2013-04-16 13:13:28
【问题描述】:

我正在尝试从 api.hostip.info 获取有关 IP 地址的信息,但以下代码返回当前 XML 版本;

$context  = stream_context_create(array('http' => array('header' => 'Accept: application/xml')));
$url = 'http://api.hostip.info/?ip=12.215.42.19';

$xml = file_get_contents($url, false, $context);
$xml = simplexml_load_string($xml);
var_dump($xml);

如何从 URL 返回数据?

【问题讨论】:

  • 不。我想从 api.hostip.info 获取信息,这样我就可以将countryAbbrev 与我拥有的函数相匹配。 $xml = htmlentities($xml); 顺便返回了许多没有文本的新行

标签: php xml api simplexml


【解决方案1】:

因为 XML 包含冒号(命名空间),所以您必须以不同的方式进行操作 and use this method 才能访问命名空间:

var_dump($xml->children('gml', true)->featureMember->children()->Hostip);

/*
    object(SimpleXMLElement)#3 (5) {
      ["ip"]=>
      string(12) "12.215.42.19"
      ["countryName"]=>
      string(13) "UNITED STATES"
      ["countryAbbrev"]=>
      string(2) "US"
      ["comment"]=>
      object(SimpleXMLElement)#2 (0) {
      }
      ["ipLocation"]=>
      object(SimpleXMLElement)#5 (0) {
      }
    }
*/

..应该给你你想要的:

【讨论】:

  • 非常好!非常感谢:)
猜你喜欢
  • 2018-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
  • 2012-04-03
  • 1970-01-01
相关资源
最近更新 更多