0


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

4

3 回答 3

3

我想说,fsockopen()与其使用在两台服务器之间执行 HTTP,不如使用它更容易curl,因为它已经有你需要的任何东西。

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

编辑

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

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

于 2011-04-27T12:46:13.207 回答
1

例如

fsockopen(gethostbyaddr("127.0.0.1"), ...
于 2011-04-27T11:39:04.017 回答
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 类

于 2011-04-27T12:55:43.460 回答