php,用curl获取cookie后,无法写入文件 65
代码如图所示,先是登录页面后获取cookie,然后用cookie进入页面获取信息。可是我执行完这个页面后得到的是:Objectmovedtohere1如上。还有,我的co...
代码如图所示,先是登录页面后获取cookie,然后用cookie进入页面获取信息。
可是我执行完这个页面后得到的是:
Object moved to here
1
如上。
还有,我的cookie.txt页面完全没有任何信息哦,打开都是空白的。请问这是没写入cookie么?那要怎么做呢,我的文件都在新浪sae上,是不是cookie.txt没有写入权限还是?
本人比较业余,望指点一二,感谢!! 展开
可是我执行完这个页面后得到的是:
Object moved to here
1
如上。
还有,我的cookie.txt页面完全没有任何信息哦,打开都是空白的。请问这是没写入cookie么?那要怎么做呢,我的文件都在新浪sae上,是不是cookie.txt没有写入权限还是?
本人比较业余,望指点一二,感谢!! 展开
3个回答
展开全部
新浪sae平台的所有目录都是只读的,不可写.如果想写入数据,可以用storage.
或者使用SAE的临时目录.
或者使用SAE的临时目录.
更多追问追答
追问
根据sae上的说明文档,TmpFS写入方式如下:file_put_contents( SAE_TMP_PATH . '/mycode.txt' , 'dummy test' );但是cUrl上写cookie文件的配置语句是固定的:curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
追答
先解释原理
http协议的原理,HTTP是无状态的,为了保持状态,人们发明了cookie.在服务端和客户端传输数据.
curl模拟了浏览器的请求.
大概原理可以从浏览器的请求入手.因为你现在就是在模拟登录.我就拿登录流程来说.
首先你通过post发送账号和密码.并且带着你的COOKIE一同发送给服务端.服务端验证后,又返回了你一堆cookie等信息,让你存储下来.就相当于服务器端给了你一把钥匙.如果是浏览器.就将存储在cookie里面.但是用程序模拟.就需要吧服务端返回的cookie存储下来.你使用curl也不过是模拟这个过程而已.
新浪sae的temp目录在单次文件请求过程中是有效的,你既然要发送文件,可以用这个目录.
你只需要在你程序中
将$cookie_jar的目录指向到临时目录中即可.
那么所有curl请求的来往文件都会在本次执行中通过temp目录来存储.能够实现你要的目的.
展开全部
代码是这样写,没有错,看看目录是否正确,有没有读写的权限
追问
sae里怎么看读者权限呢。
追答
那我就不知道了,FTP 上传的时候 设置为777
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cookie/cookie.txt。。。。不是cookie.txt
追问
有cookie/cookie.txt这个文件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询