Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP或Python运行WHOIS查找?_Php_Whois - Fatal编程技术网

如何使用PHP或Python运行WHOIS查找?

如何使用PHP或Python运行WHOIS查找?,php,whois,Php,Whois,因此,无论如何,我正在开发一个小型PHP网站/脚本,作为其中一个功能,我希望能够在当前域上运行PHP脚本所运行的WHOIS查找 理想情况下,它将是一个我可以调用的函数,在该函数中它将运行WHOIS,然后将结果回显到屏幕上。它将接收网站的URL来运行WHOIS查找,或者只在当前的URL/域上运行它(这是我想要的),尽管我可以根据需要为网站域提供一个变量 我对WHOIS查找不太了解(我知道它们是做什么的,我只是不知道如何在PHP中运行它们),但我也可以查询其他网站(即使是我自己的网站,如果你能给我代

因此,无论如何,我正在开发一个小型PHP网站/脚本,作为其中一个功能,我希望能够在当前域上运行PHP脚本所运行的WHOIS查找

理想情况下,它将是一个我可以调用的函数,在该函数中它将运行WHOIS,然后将结果回显到屏幕上。它将接收网站的URL来运行WHOIS查找,或者只在当前的URL/域上运行它(这是我想要的),尽管我可以根据需要为网站域提供一个变量

我对WHOIS查找不太了解(我知道它们是做什么的,我只是不知道如何在PHP中运行它们),但我也可以查询其他网站(即使是我自己的网站,如果你能给我代码的话)


不管怎样,请告诉我!最重要的是,我希望它能在一个函数中容纳所有内容,而且它肯定必须能够容纳在一个PHP文件/文档中。

这应该完全符合您的要求


我以前用过这门课,做你想做的事

最好的办法是使用。虽然你在问题标题中提到Python,但在帖子中没有提到。如果你真的需要PHP,我相信有一些与之相当的东西。

使用PHP,你可以使用shell_exec来执行whois命令

    <?php
    $whois = shell_exec("whois domain.net");
    echo '<pre>';
    print_r($whois);
    ?>

要让Pavels回答更进一步-这将把它分解为一个数组:

     'https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=Your API_Key',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
$whois=shell_exec(“whois 45.118.135.255”);
$result=explode(“\n”,$whois);
$out=array();
foreach($结果为$行){
如果(substr($line,0,1)='%'| | substr($line,0,1)='#'){continue;}
$ps=分解(“:”,$line);
$out[trim($ps[0])]=trim($ps[1]);
}
打印“”;打印(输出);打印“”;

尝试github中提供的功能

有关
TLD/Whois服务器的完整列表,请参见,我在这里找到了它:。您可以通过以下代码段使用PHP获取Whoislook:


我希望它也能对你起作用。

效果惊人,谢谢!我不得不改变它一点,以适应我的网站,但仍然工作良好!很高兴它对你有用!它应该符合您的空间/文件要求。如果没有,我相信我们都可以帮助您做到这一点。请注意,无论您使用何种脚本,大多数WHOIS服务器都会对查询实施严格限制(这些限制因服务器和TLD而异)。因此,如果您需要执行批量查询,您将开始看到“超出WHOIS限制”错误的某些版本。为了避免这种限制,可以使用此错误。是的,我认为我需要PHP而不是Python,但我认为我仍然可以使用pywhois,只是不在这个特定项目中。非常感谢。不,不要执行whois命令,使用编程语言中的库或在端口43上打开TCP套接字,请参阅RFC3912,因为您不需要这样做,因为您在该语言中拥有所有功能:1)PHP中有whois库,2)即使没有,whois只是端口43上的一个TCP连接,所以这在任何语言中都很容易做到。相反,调用shell会给您带来所有这些缺点:性能较差(更多地使用RAM,执行速度较低,等等)、安全性(在这里您甚至不知道运行哪个whois命令,路径不是绝对的)、限制(代码存在时,可能没有shell或不允许shell访问,或者whois命令未安装,等等)。没有优势@PatrickMevzek那么你为什么不展示一个更好的方法,而不是给出这些概括性呢?@c0000fd在我的第一个评论中,你觉得什么不够具体,就是“使用编程语言中的库或在端口43上打开TCP套接字”?不,不要执行whois命令,使用编程语言中的库或在端口43上打开TCP套接字,请参阅RFC3912
     'https://api.whoisfreaks.com/v1.0/whois?whois=live&domainName=jfreaks.com&apikey=Your API_Key',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;