我正在尝试自动登录Yahoo!作为在PHP中使用cURL的OpenID提供程序。当我这样做时,雅虎!通知程序它需要启用cookie。已启用Cookie支持,我已确认Yahoo!发送程序发回的DK
cookie。
当我在Chrome中手动执行此过程时,我会获得B
Cookie。当提交登录表单时,雅虎通常会在302响应中发送一堆其他cookie,但是当我的程序提交表单时,雅虎不再发送任何cookie并再次发送登录表单。
我已经注意到页面中有许多其他内容可以生成Cookie(可能是跨域身份验证和广告跟踪),我尝试查询更多Cookie,但它没有帮助。为什么雅虎不为我的程序设置与Chrome相同的cookie?我还能尝试什么?
答案 0 :(得分:0)
我希望它不是用户代理,但确实如此。 cURL调用是为内部测试设置一个特定的用户代理,但显然雅虎的登录页面是不同的并且被破坏,除非它获得它期望的用户代理。在运行测试时将其设置为我的实际用户代理,神奇地修复了问题。