【问题标题】:Get ip address of host name or Convert host name to ip address in php在php中获取主机名的IP地址或将主机名转换为IP地址
【发布时间】:2014-04-12 03:40:22
【问题描述】:

我有一个脚本,它使用 api 来获取 IP 地址的 IP 信息。我遇到了获取域或主机名的 ip 地址或将其转换为 ip 的问题,我正在寻找解决此问题的代码,因此当访问者访问网站时,可以录制或查找 ip 以及域名并获取域名和相关信息的ip,谢谢。

index.php

<?php

require_once('ipapi.class.php');

if(isset($_GET['ip']))
$rip = $_GET['ip'];
else
$rip = $_REQUEST['REMOTE_ADDR']; // the IP address to query

$query = IPAPI::query("$rip");

echo "\t IP Information: " .$rip. "<br />";
echo "\t ISP: " .$query->isp . "<br />";
echo "\t Organization: " .$query->org . "<br />";
echo "\t City: " .$query->city . "<br />";
echo "\t Region: " .$query->regionName . "<br />";
echo "\t Country: " .$query->country . "<br />"; 

?>

<form name="input" action="#" method="get">
IP: <input type="text" name="ip">
<input type="submit" value="Submit">
</form>

ipapi.class.php

 if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) 
 { 
    $rip = getenv("HTTP_CLIENT_IP"); 
 } 
 else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) 
 { 
    $rip = getenv("HTTP_X_FORWARDED_FOR"); 
 } 
 else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) 
 { 
    $rip = getenv("REMOTE_ADDR"); 
 } 
 else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] &&       strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) 
 { 
    $rip = $_SERVER['REMOTE_ADDR']; 
 } 
 else 
 { 
    $rip = "unknown"; 
 } 

PS : rip = ip 我把它命名为 rip 而不是 ip

【问题讨论】:

  • 查看parse_url()us1.php.net/parse_url
  • 我做到了,但我没有得到它!我是php的新手!怎么样?
  • $url = parse_url('http://'.$_SERVER['REMOTE_ADDR']); echo $url['host'];
  • 谢谢,但我必须把这条线放在哪里?以及我如何使用它?
  • us3.php.net/parse_url。示例 #2 应该会有所帮助。

标签: php ip ip-address lookup hostname


【解决方案1】:

我会使用 nslookup 将主机名解析为 IP。

echo shell_exec('nslookup ' . $example_host_name);

【讨论】:

  • 谢谢你的快速回复,但是如何把它放在里面,具体在哪里??我只是 php 的新手,对不起我的英语:P
  • 只需将上述行放在代码中的任何位置,它就会输出 IP 地址(假设您的 $example_host_name 变量设置为您尝试查找的任何主机名!)。
  • 我猜你不明白我的问题,但还是谢谢你
猜你喜欢
  • 2012-05-20
  • 2012-05-31
  • 1970-01-01
  • 2014-12-19
  • 2014-12-02
  • 2018-01-02
  • 2018-08-26
  • 2011-09-15
相关资源
最近更新 更多