为什么在从Curl发布后,页面只能在隐身模式下正确显示?

时间:2016-03-01 20:11:18

标签: php curl cookies session-cookies

我相信这是一个与cookie有关的非常有趣的问题。

我的index.php有一个表单,并发布到post.phppost.php然后操纵数据并使用curl然后将其发布到webinarjam.net,这是一个不受我控制的第三方服务。

webinarjam.net然后会显示一条简短的成功消息,该消息基本上只包含一个唯一的URL。唯一的网址是感谢页面(由webinarjam.net托管)。

这一切都很美妙。但问题出在这里:

点击该网址仅适用于隐身模式(?!)(即首先清除浏览器Cookie)。否则,webinarjam.net只会显示“内部服务器错误”。

我不知道为什么Cookie的存在会阻止页面显示。

如何更改我的post.php,以便即使不使用浏览器的隐身模式也能正确显示唯一的感谢页网址?

解决这个问题可以让我在表单提交时自动将用户重定向到感谢页面URL。 (目前,重定向只会将她带到一个显示“内部服务器错误”的页面。)

P.S。如果这有帮助,我还使用Chrome中的Advanced Rest Client扩展程序尝试将相同的查询数据发布到webinarjam.net;然后,无需使用隐身模式即可显示生成的唯一感谢页网址。所以...我需要帮助解决的问题是:我的post.php和Advanced Rest Client扩展程序发布到webinarjam.net的方式之间存在什么差异?

1 个答案:

答案 0 :(得分:0)

我终于注意到,这不仅仅是隐身模式有效;它是除了我的主浏览器以外的任何浏览器。

我最终发现这是因为我的主浏览器已登录到EverWebinar网站。

每当网络研讨会的登录管理员提交表格以注册该网络研讨会时(即使使用不同的电子邮件地址),我猜EverWebinar barfs(失败)。

似乎在表单提交时,系统会注意到登录管理员的会话/ cookie,并且它说“无论如何,拥有此网络研讨会的人不应该注册它。”