首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取主机名的ip地址或在php中将主机名转换为ip地址

获取主机名的ip地址或在php中将主机名转换为ip地址
EN

Stack Overflow用户
提问于 2014-03-09 07:22:30
回答 1查看 3.1K关注 0票数 2

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

index.php

代码语言:javascript
复制
<?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

代码语言:javascript
复制
 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

EN

回答 1

Stack Overflow用户

发布于 2014-03-09 07:25:22

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

代码语言:javascript
复制
echo shell_exec('nslookup ' . $example_host_name);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22276395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档