php程序中用curl保存的cookie文件格式问题

voov 发布于 2011/10/24 14:56
阅读 6K+
收藏 0

一个curl登录网站功能。

正常登录流程:数据提交到a页面,a页面检查验证后返回一个html页面,这个html页面内容先是js写入不同cookie,然后就是location.href='xxxxx'.

php程序中这样处理的:用curl提交数据到a页-->获取返回来的那个html页面-->正则匹配js写入的cookie。现在的情况是已经获取到所有js写入的cookie名,值,过期时间等,想把所有的cookie保存起来,供后面再使用。

先上一张图,是正常情况下curl中使用CURLOPT_COOKIEJAR选项所保存的cookie文件内容。

(图1)

接着上面流程,把所有正则获取到的cookie按 图1所示的规则(域名,true,path,false,过期时间,cookie名,cookie值)排列好,然后保存到cookie.txt文件中。问题就在这里:是可以正常保存,但是惟独过期时间都是0,如下图:

 这个地方为上面会成为0呢?保存之前已经输出过一次,都是正常的时间戳。但是保存了后都为0了。

请教下大家这是怎么回事?哪里出了问题呢?

谢谢

 

以下是问题补充:

@zerowq:我的问题是 无法读取cookie文件里面的内容 curl_setopt($curl_session, CURLOPT_URL, $url_post); curl_setopt($curl_session, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0.1) Gecko/20100101 Firefox/8.0.1"); curl_setopt($curl_session, CURLOPT_POST, 1); curl_setopt($curl_session, CURLOPT_REFERER, "http://hi.baidu.com/XXXX/blog/create"); curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl_session, CURLOPT_SSL_VERIFYHOST, 1); curl_setopt($curl_session, CURLOPT_POSTFIELDS, $content_post); //curl_setopt($curl_session, CURLOPT_COOKIEJAR, $cookie_jar); curl_setopt($curl_session, CURLOPT_COOKIEFILE, $cookie_jar); curl_setopt ($curl_session, CURLOPT_RETURNTRANSFER, 1); cookie文件的信息是 这样的 # Netscape HTTP Cookie File # http://curl.haxx.se/rfc/cookie_spec.html # This file was generated by libcurl! Edit at your own risk. .baidu.com TRUE / FALSE 1365155562 BAIDUID BDDFCD14EA0AD5C1B38EDFD0DDCCB34E:FG=1 .baidu.com TRUE / FALSE 0 BDUSS 85TmQyZ350VmdLN0gxdjVldjBvVUN-WDBUTVVXTFJLRUVlMEN1MWw0SnF1V3BRQUFBQUFBJCQAAAAAAAAAAApRIA57zggGbGl1YW5xaTMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgusRwAAAAAOC6xHAAAAAAuWZCAAAAAAAxMC4yMy4yNGprfU9qa31PVm #HttpOnly_.passport.baidu.com TRUE / FALSE 0 PTOKEN 1184d4bd2d80961354d3eae7f6de6ff2 .passport.baidu.com TRUE / FALSE 0 STOKEN a2dbfbc5bb86151850526e70f6f40a66 #HttpOnly_.baidu.com TRUE / FALSE 0 PTOKEN .baidu.com TRUE / FALSE 1893456000 USERID 70bd897a5d1f0eea3c423d9f .hi.baidu.com TRUE / FALSE 0 BDSP a4c27d1ed31a0ef411c28743a60a59dcb4e2c9dacd335a60e53ff925ab18972bd40735fae6cd7b899e510fb30f2442a7d933c895d143ad4bd11373f082025aafa40f4bfbfbedab64034f78f0f736afc379310a55b319ebc4b74543a98226cffc1c179f08 .hi.baidu.com TRUE / FALSE 1806659562 BDSTAT 62d0f703fbe4dda308fa513d5e2f8f7b2ddb836eb2fb431664224f4a23a41d47 (2012/04/05 18:02)
加载中
0
sooden
sooden

不贴代码如何看哦

0
voov
voov

引用来自“sooden”的答案

不贴代码如何看哦

谢谢啊

现在这个问题解决了,多写了一行CURLOPT_COOKIEJAR项,去掉就好了。

0
voov
voov

其实就是想用curl登陆tianya社区的,该做的都做了,但是还是登陆不上去...

不知道哪位做过呀?指点一下

0
zerowq
zerowq
我也出现这个问题了.. 不知道如何解决
返回顶部
顶部