为什么唯独如何获取set cookie不到这个网页的Set-Cookie

// test.php页面
setcookie('test','123456');
if( isset($_COOKIE['test']) ){
echo $_COOKIE['test'];
//运行test.php, 显示no exists ,再次刷新显示 123456
//setcookie生成cookie,为什么第一次在$_COOKIE中检测不到?还要刷新一次
如果要立即生效可以先创建空的cookie,然后赋值。setcookie('test',''); $_COOKIE['test']='123456';
已被提问者采纳
你还没有登录,请先登录或注册慕课网帐号
东北的一匹狼
确实是, JS 也是这样。 放心吧。
你还没有登录,请先登录或注册慕课网帐号
你给cookie设定一个有效时间试试
你还没有登录,请先登录或注册慕课网帐号
32054人关注
Copyright (C)
All Rights Reserved | 京ICP备 号-2关于HttpWebResponse里拿不到Set-Cookie的问题,有需要的朋友可以参考下。
寒假开始的时候开始学C#,然后就试着用C#写个自动登入学校urp网站的程序,这样出了成绩直接发邮件告诉我,我就不用自己去一遍一遍登入查看了(听华科的同学说华科就是发邮件通知的,真人性化)
发邮件的话用System.Web.Mail.MailMessage mailmsg = new MailMessage();C#的话还要记得在项目的引用里添加程序集。
给mailmsg填写发件人的账号密码的时候要这么写:
mailmsg.Fields.Add(&/cdo/configuration/smtpauthenticate&, &1&);
mailmsg.Fields.Add(&/cdo/configuration/sendusername&, &username&);
mailmsg.Fields.Add(&/cdo/configuration/sendpassword&, &password&);
其它都比较好理解。
最后再设定邮件服务器并发送:就发送出去了。
SmtpMail.SmtpServer = &&;
SmtpMail.Send(mailmsg);
自动登入是用HttpWebRequest,具体方法可以参考http://blog.csdn.net/zhoufoxcn/article/details/6404236
但是用上述方法对于有些网站会有一些问题,我碰到的主要是两方面。
1.一些网站会根据HttpWebRequest的referer来防止盗链,所以需要添加这么一条:
if (!string.IsNullOrEmpty(refer)) request.Referer =
2.网站是根据cookie来确定用户身份的话,登陆页面之后响应头里会拿到一个Set-Cookie,但是有时候明明已经登入了,响应头里的Set-Cookie却是空的。这是因为网页请求自动跳转了,返回的响应是跳转之后的响应,那时已经不需要返回Set-Cookie了。一个简单的解决办法是在request里禁用自动跳转:
request.AllowAutoRedirect =
拿到响应流之后,需要获取什么信息,用正则表达式去匹配一下就好了。
HTML &button& 和 input typ
最新教程周点击榜
微信扫一扫

我要回帖

更多关于 php 获取set cookie 的文章

 

随机推荐