我已经联系了一些网站管理员以获取他们的API,作为回报,他们已经要求提供源IP,以便将其列入白名单,这样只有来自该IP的请求才会被认为是合法的(即使它是一个共享的IP)。
所以,现在的问题是我如何获得网站的IP。作为一名PHP开发人员,我尝试过gethostbyname()
,它提供随机ip& s;&还$_SERVER['REMOTE_ADDR']
(从其他服务器调用),它总是提供单个IP。我完全对此感到困惑,而且我没有时间给他们提供源IP。
我没有付费托管。我总是使用免费的appfog (*。aws.af.cm)&; openshift (* - name.rhcloud.com)。如果有人可以告诉我找到任何这些IP地址的过程或者向我展示一种获取免费或其他主机的静态IP(我可以与他们共享)的方法,那将是很棒的。此外,他们已经允许仅在10天内使用此API。
更新:我还尝试ping mysite.aws.af.cm
(与gethostbyname()
相同)为不同的来电提供不同的IP。
答案 0 :(得分:2)
Web主机通常具有静态IP地址,但我很惊讶他们需要基于Web的API而不是域/某种密钥的IP。
您是否考虑过ping您的域名,因为ping命令会将您的域名转换为与其对应的IP地址?
编辑:另一种解决方案。
考虑到服务器正在联系您的API,我在自己的网站上创建了一个返回$ _SERVER ['REMOTE_ADDR']的文件,但您应该使用您网站上的脚本访问该文件!
将以下内容上传到您的网站并运行:
<?php
echo file_get_contents("http://barathesh.com/server.php");
?>
答案 1 :(得分:0)
从终端ping它(适用于基于Windows和Linux的操作系统)
ping youhostname.com
将打印类似
的内容64 bytes from 74.125.206.100: icmp_seq=0 ttl=44 time=3.151 ms
64 bytes from 74.125.206.100: icmp_seq=1 ttl=44 time=3.116 ms
查看gethostbyname功能
echo gethostbyname('yourdomain.com');
将输出yourdomain.com
答案 2 :(得分:-1)
使用这个php函数并像这样回显结果:
$myip = ($_SERVER['REMOTE_ADDR']);
echo $myip