使用curl保存登录cookie

时间:2013-11-21 19:41:39

标签: php cookies curl cookiejar

我没有使用curl的实际经验,所以我可能需要一些帮助。

我有一个需要访问名为redownloadsubmitter.jsp的文件的php脚本,但是当我尝试它失败时,因为我的服务器上的php脚本在访问脚本之前没有完成身份验证。

登录脚本位于portalloginsubmitter.jsp

如何使用PHP脚本“登录”,然后访问downloadsubmitter以下载所需的数据?

我读了一些关于curlopt_cookiejar的文章,但我似乎无法理解我需要怎么做。帮助

1 个答案:

答案 0 :(得分:2)

此链接应该有所帮助:http://curl.haxx.se/libcurl/php/examples/cookiejar.html

总结。点击生成cookie的页面(EX:在您需要之前),然后在curl请求中使用它。

curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookieFileName");

确保执行并关闭它,以获取cookie jar来存储cookie。它们仅在关闭curl请求时存储。在下一个回复中(例如:当您需要cookie时)。

将其添加到其中。

curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookieFileName");

从制作自动脚本化登录的经验中得到的一点说明,大多数脚本需要的不仅仅是cookie。有些人会要求下面提到的一些事情。

  • 生成在每个加载时生成的表单数据,必须传递(因此请抓取页面,提取数据,然后将其插入到下一页的提交中)
  • cookies - (上文已说明)
  • null引用者/用户代理有时是不允许的,因此请确保在请求中传递引用者和用户代理。