使用NO-IP的PHP插座



如何使用NO-IP中的DNS名称通过套接字连接?还是有一种方法可以从No-IP DNS名称中获取IP?

工作

$cnt = socket_connect($socket,"100.100.100.100",$port);

但是IP是动态的。我需要类似的东西:

$cnt = socket_connect($socket, "blablabla.ddns.net",$port);

我尝试了GethostByName(),但它返回所有NO-IP名称的IP。

此解决方案将取决于您的服务器,但是您可能会退缩到本机操作系统功能。例如,大多数Linux安装具有glibc,允许您运行一个命令:

getent hosts blahblabla.ddns.net | awk '{print $1}'

现在,PHP函数诸如exec()system()之类的功能可用于运行类似的内容。

例如:

$command = 'getent hosts google.com | awk '{print $1 ; exit}'';
$ip = exec($command);

然后使用IP连接到套接字。

注意:,除非您想遇到糟糕的时间,否则请不要通过提供的用户输入。

参考:https://unix.stackexchange.com/questions/20784/how-can-i-resolve-a-a-hostname-to-an-ip-address-indress-indress-in-a-a-bash-bash-script

相关内容

  • 没有找到相关文章

最新更新