如何通过PHP检索访问者的ISP?

13 php

如何找到查看PHP页面的人的ISP提供商?

是否可以使用PHP来跟踪或显示它?

如果我使用以下内容:

gethostbyaddr($_SERVER['REMOTE_ADDR']);
Run Code Online (Sandbox Code Playgroud)

它返回我的IP地址,而不是我的主机名或ISP.

Nic*_*ynt 10

这似乎是您正在寻找的,如果可能,它将尝试返回完整的主机名:

http://us3.php.net/gethostbyaddr


Raj*_*esh 9

您可以从以下PHP编码中获取所有这些内容.,

<?php
  $ip=$_SERVER['REMOTE_ADDR'];
  $url=file_get_contents("http://whatismyipaddress.com/ip/$ip");
  preg_match_all('/<th>(.*?)<\/th><td>(.*?)<\/td>/s',$url,$output,PREG_SET_ORDER);
  $isp=$output[1][2];
  $city=$output[9][2];
  $state=$output[8][2];
  $zipcode=$output[12][2];
  $country=$output[7][2];
?>
<body>
  <table align="center">
    <tr><td>ISP :</td><td><?php echo $isp;?></td></tr>
    <tr><td>City :</td><td><?php echo $city;?></td></tr>
    <tr><td>State :</td><td><?php echo $state;?></td></tr>
    <tr><td>Zipcode :</td><td><?php echo $zipcode;?></td></tr>
    <tr><td>Country :</td><td><?php echo $country;?></td></tr>
  </table>
</body>
Run Code Online (Sandbox Code Playgroud)

  • 这违反了[TOS](http://whatismyipaddress.com/terms-of-use):"未经事先书面许可,您不得以自动方式使用脚本,代理,应用程序或以其他方式查询本网站." (33认同)

Jam*_*ker 8

HTTP标头中没有任何内容可以指示用户来自哪个ISP,因此答案是否定的,没有PHP内置函数会告诉您这一点.您必须使用某种服务或库来将IP映射到网络/ ISP.


Cha*_*ara 0

我认为您需要使用一些第三方服务(可能是网络服务)来查找 IP 并找到服务提供商。