5
回答
php程序中用curl保存的cookie文件格式问题
华为云实践训练营,热门技术免费实践!>>>   

一个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了。

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

谢谢

 

举报
voov
发帖于6年前 5回/5K+阅

以下是问题补充:

  • @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 (6年前)
顶部