我正在尝试在我的服务器上的PHP代码中使用免费的api ipinfodb服务。 我使用该服务注册了我的服务器ip,并获得了我的API密钥。
如果我直接通过浏览器运行服务,请执行以下操作:
http://api.ipinfodb.com/v3/ip-city/?key=<apikey>&ip=117.212.155.134
它运行良好并快速返回如下字符串:
OK;;117.212.155.134;IN;INDIA;MAHARASHTRA;CHIPLUN;415726;17.5333;73.5167;+05:30
然而,当我尝试在我的服务器上通过php运行相同的东西时,它会永久计时并因超时错误而失败。
此逻辑适用于我的本地服务器,但不适用于我的远程HostGator服务器。 如果我将api.infodb.com替换为其他网站地址,则会返回正确的结果。 它几乎就像api.ipinfodb.com阻止我的hostgator服务器拨打电话一样。 我用api.ipinfodb.com和我的api密钥注册了我的hostgator服务器ip地址。
导致超时错误的原因是什么?
<?php
$ip = "117.212.155.134";
$lookup = sprintf('http://api.ipinfodb.com/v3/ip-city/?key=<apikey>&ip=%s', $ip);
$result = trim(file_get_contents($lookup));
echo $result . "<br />\n";
答案 0 :(得分:0)
使用此功能可以像使用浏览器时那样获得准确的输出。
$arr_location=file_get_contents('http://api.ipinfodb.com/v3/ip-city/?key=**YOURKEY**&ip='.**$THE_IP_TO_LOOKUP**);
print_r($arr_location);