PHP curl 保持会话 100

网站是基于http1.1版本采用Connection:keep-alive,会话模式。当单次会话超时或者断开,就不能继续访问了,我使用的是PHP,求助各位是否有异步保持这... 网站是基于 http 1.1 版本 采用 Connection: keep-alive ,会话模式。当单次会话超时或者断开,就不能继续访问了,我使用的是PHP ,求助各位是否有 异步保持 这个会话的方式,因为有验证码,。

PHP --> 模拟登陆 --> 收到验证码图片 --> 提交给用户 --> 用户回复验证码 -->服务器继续执行登陆

PHP CURL 在模拟登陆的时候保持这个会话不断。
模拟登陆网站

http://sms.huhutv.com.cn/rtcrm-clientweb/npage/obim/staff/loginmng/initLogin.do

提供测试账号
账号A-08
密码Bb654321

使用变成语言 PHP
展开
 我来答
百度网友a19d193
2016-02-14 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1442万
展开全部
楼主的思路问题不大,但是服务端不支持你想什么办法都没用,最好是服务端能支持令牌(token)模式,否则在安全机制的作用下用curl是维持不了你所说的长连接的。
关于会话模式,通常所说的回话模式并不等同于持久连接,php发起的curl会话的生命周期是当前的php进程而已。这么打个比方吧,你通过a.php完成了登录,然后b.php想使用刚才拿到的认证继续工作,相当于在ie窗口登录,然后在firefox浏览器继续工作,服务器端当然不认可了。
何况我用你提供的账号实验了一下,登录之后会进入到 http://sms.huhutv.com.cn/rtcrm-clientweb/npage/base/pub/pub0010/Pub0010Controller-initMainPage.gv 这个页面,然后关掉页面并打开一个新的标签页,粘贴这个地址后直接就报错了,说 “非法进入系统”,可是偏偏重新登录的时候又提示您的账号已经登录。
呵呵,服务端自己的登录/认证处理都工作不正常,你搞curl持久连接又怎么可能成功。
追问
在PC程序下是可行的,保持TCP连接不断或者端口不变就能做到,但是换到了PHP,就没有办法登陆,我不指望能搞跨页面登陆,我只需要在一次页面访问下达到登陆成功的效果即可也就是单进程或者单线程模式下登陆成功即可。。
追答
PHP也可以这样,但是开销比较大。可以参考php聊天室的代码,这个应该能解决你的问题。但是实际上用处不大,用错误的思路解决问题会发现问题越解决新问题越多。
头痛的linux
2016-02-14
知道答主
回答量:4
采纳率:0%
帮助的人:4944
展开全部
php 的CURL可以实现此功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luke8327
2016-02-12 · TA获得超过158个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:87.3万
展开全部
这个要不断的传递,session 或Cookie
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式