分享

curl抓取时cookie怎么不保存到文件且自动使用?

 quasiceo 2015-04-21
2开源币
本帖最后由 1376860573 于 2012-12-29 01:52 编辑

有个站点非常变态,需要连续跳转5次以上,最后验证这5次的cookie值,正确才给访问。

过程是这样:访问url1,跳转到url2并设置cookie,再次跳转到url3并设置cookie,N次之后……跳转回url1,验证cookie,正确才给访问。

求教下各位,我不想cookie保存到文件,只想保存到变量就好,如何配合CURLOPT_FOLLOWLOCATION自动获取每次跳转的cookie并使用呢?

怎么样才能每一次跳转的时候用新的cookie呢,求教了,十分感谢!!

[PHP] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
function get_contents($url,&$cookie) {
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_COOKIE, $cookie);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
  curl_setopt($ch, CURLOPT_AUTOREFERER, true);
  curl_setopt($ch, CURLOPT_HEADER, 1);
  curl_setopt($ch, CURLOPT_TIMEOUT, 5);
  //cookie
  preg_match_all('|Set-Cookie: (.*);|U', $file_contents, $results);   
  $cookies = implode(';', $results[1]);
  curl_close($ch);
  return $file_contents;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多