2012-06-26 69 views
0

希望你能帮助我。检查网站是否可通过ip通过php

我想检查一个网站(实际上是多个网站,把我可以做的那部分我的自我:p)通过他们的IP地址在线或离线。伊夫搜索了一下,发现了两种方法来做到这一点

  • 使用fsockopen()

想知道哪个是更好的通过EXEC()

  • 使用ping命令,而且更可靠的方法。还是有另一种我失踪的方法?

    我读过使用curl库是最好的方法,但我无法弄清楚如何使用IP地址(而不是链接)进行工作。另外,我宁愿不使用未预先安装的库,除非它有很大的区别。

  • +0

    你的意思是检查httpd/apache是​​否在给定的IP上运行?如果是这样,那么curl应该能解决你的问题。你可以使用php'curl_getinfo'来获得状态和许多真棒细节。您可以在卷曲库中使用IP地址。尝试'卷曲'http:// 127.0.0.1''它应该在你的本地工作任何网络服务器监听80 – Tamil

    +0

    btw curl接受URL [http://64.34.119.12](http://64.34.119.12/) –

    回答

    1

    这实际上取决于你的意思是“在线”。 Ping会告诉你是否有一个主机具有给定的IP地址来响应ping请求(大多数情况下,但有些主机配置为不存在),或者您和主机之间可能存在无用路由器数据包)

    如果您真的想知道主机是否正在运行的HTTP服务器,那么类似curl的东西会更有用。例如,你可以检查返回的状态是200。

    +0

    嗯,谢谢。这解释了curl和ping,那么fsockopen呢? –

    +0

    你可以使用fsockopen,但你必须格式化HTTP请求并自己解析响应。不难,但为什么要重新发明轮子? –