PHP fsockopen()

时间:2011-04-27 11:34:07

标签: php fsockopen


一个简单的简短问题我可以在fsockopen()函数中传递主机的ip而不是它的名称吗?我需要在2台服务器之间设置连接,现在我必须在同一台计算机上工作,我从来没有使用过fsockopen一个简单的例子表示赞赏 在此先感谢=)

3 个答案:

答案 0 :(得分:3)

我会说,不是使用fsockopen()在两台服务器之间进行HTTP,而是使用curl会更容易,因为它已经有了你需要的东西。

从技术上讲,如果您使用fsockopen()进行HTTP通信,那么您将开发另一个HTTP客户端。由于curl是一个HTTP客户端,我看不出需要重新发明轮子^^

修改

所以你真的必须使用fsockopen()

确定。这是Simon Willisons PHP HTTP client的链接。也许它已经过时且过时,并且只涵盖了HTTP客户端功能的一小部分,但它附带了源代码,可以帮助您了解如何使用fsockopen来执行HTTP请求。

答案 1 :(得分:1)

例如。

fsockopen(gethostbyaddr("127.0.0.1"), ...

答案 2 :(得分:0)

使用fsockopen函数不安全。出于安全原因,托管服务提供商通常会禁用此功能,托管服务提供商也可以通过防火墙防止外部连接到其他计算机。

如果你想使用php从另一台服务器获取某些东西,只需使用CURL即可。您需要安装curl php扩展才能使用它。

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://yourserver.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

$r = curl_exec($ch);
curl_close($ch);
?>

此外,如果您使用Zend Framework,您可以关注Zend_Http_Adapter_Curl类