我正尝试通过 PHP fsockopen 连接到服务器,首先获取用于基本身份验证的 cookie,然后持续连接到响应的 Location 标头中定义的流媒体服务器。
问题是我的代码在 fgets 上冻结,并且从未从目标服务器收到任何响应数据。我通过 https 在 Amazon ec2 实例上的端口 443 上进行连接。服务器通过我服务器终端中的 curl 或通过我的 chome 浏览器正常连接。
我在 ec2 上缺少出站防火墙设置吗?我甚至在服务器上打开了入站 443 端口,但这当然似乎毫无意义。
有什么想法吗?
答案1
我通过添加标题“连接:Close\r\n\r\n”解决了这个问题。
对 cookie 的初始请求将返回 302 重定向代码,并且将停留在打开的连接上,除非您传递该标头。
不幸的是,这句话让我困惑了好一阵子。