注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

phperwuhan的博客

记载一个phper的历程!phperwuhan.blog.163.com

 
 
 

日志

 
 

php curl 设置cookie  

2010-05-14 09:45:55|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

来源:http://topic.csdn.net/u/20090929/15/24bb49a1-3a85-4185-8b2c-5bb21cf9d90a.html

我的需求是
访问a页面 a curl b页面
因为b页面中要设置cookie
我想访问 a页面 能将b页面设置的cookie设置下来
有没有高手解决下啊 谢谢了

 

PHP code
function curlFetch($url, $cookie = "", $referer = "", $data = null) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 返回字符串,而非直接输出 curl_setopt($ch, CURLOPT_HEADER, false); // 不返回header部分 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // 设置socket连接超时时间 if (!empty($referer)) { curl_setopt($ch, CURLOPT_REFERER, $referer); // 设置引用网址 } if (!empty($cookie)) { curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); // 设置从$cookie所指文件中读取cookie信息以发送 curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); // 设置将返回的cookie保存到$cookie所指文件 } if (is_null($data)) { // GET } else if (is_string($data)) { curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // POST } else if (is_array($data)) { // POST curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); } set_time_limit(120); // 设置自己服务器超时时间 $str = curl_exec($ch); curl_close($ch); return $str;
 
呵呵,和我以前遇到的问题一模一样,我理解你的意思,,,,我采集那个游戏的时候也是这样,,后来我就直接把cookie通过不同的名字保存到了服务器端!!解决了问题,,,你说的你要保存到客户端,给你一个办法!!
PHP code
if($this->_iscookie==false){//获取cookie存入本机cookie preg_match_all('|Set-Cookie: (.*);|U', $this->_source, $results); $cookies = implode(';', $results[1]); setcookie("cookname", $cookies, time()+3600*24*7,"/"); }
 
 
谢谢了 结决了 贴上代码 让大家看看
PHP code
$ch = curl_init('http://....'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $c=curl_exec($ch); $arr=explode('<!--ppd_content-->',$c); preg_match_all('|Set-Cookie: (.*);|U', $c, $results); foreach($results[1] as $ck) { $u=explode('=',$ck); if(!empty($u[0]) and !empty($u[1]) and $u[1]!='deleted') { setcookie($u[0],rawurldecode($u[1]),0,'/','.brothersoft.com'); } } echo $arr[1]; curl_close($ch);
 
 
  评论这张
 
阅读(1903)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017