fsockopen https 在 fgets 上冻结,可能是服务器配置错误

fsockopen https 在 fgets 上冻结,可能是服务器配置错误

我正尝试通过 PHP fsockopen 连接到服务器,首先获取用于基本身份验证的 cookie,然后持续连接到响应的 Location 标头中定义的流媒体服务器。

问题是我的代码在 fgets 上冻结,并且从未从目标服务器收到任何响应数据。我通过 https 在 Amazon ec2 实例上的端口 443 上进行连接。服务器通过我服务器终端中的 curl 或通过我的 chome 浏览器正常连接。

我在 ec2 上缺少出站防火墙设置吗?我甚至在服务器上打开了入站 443 端口,但这当然似乎毫无意义。

有什么想法吗?

答案1

我通过添加标题“连接:Close\r\n\r\n”解决了这个问题。

对 cookie 的初始请求将返回 302 重定向代码,并且将停留在打开的连接上,除非您传递该标头。

不幸的是,这句话让我困惑了好一阵子。

相关内容