cURL模拟登陆的各种问题

太郁闷了来写下博客

由于老师要求做的一个项目,开始了我一点都不会的PHP,虽然大家都说这个是最简单的语言,可是小白就是小白,第一天开始查各种模拟登陆的列子,蒙圈了一天。

第二天,理智了点,终于看明白点了。把保存cookie和验证码图片弄了出来,由于之前一点都不会进行到目前为止我就有很多坑存在了。

1.网上很多代码没有写全,保存cookie,那部,很多人在最开始定义的目录文件那步代码没有给出来,导致我一直没有看到我保存到的cookie在哪儿,之后弄清楚了,虽然你写的路径可能是像这样的"./temp"但是,如果没有权限的话,PHP会跑到系统根目录去创建cookie文件。= =  我就是在我的window里面找到的,不过这个如果你不确定的话,可以直接echo下定义的路径变量。

2.验证码。天坑。。。。。网上多少帖子说的是可以绕过验证码的,那都是2014年的事情了,现在不能为空了!!所以一定要输,我一直想着这个工具能自己识别验证码,然后自动弄进去,我需要做的就是弄几个参数,找好代码我就能直接看到我亲切的登陆界面,小白就是可悲啊!!!!!!!!!!!!结论:代码只能给你显示出来图片,要自己在代码那里手动输入。(冷漠脸)


第三天:


应该说今天的问题是昨天下午就开始了的,昨天在YX的努力下!!我们终于模拟登陆成功了,接下来我们就可以就可以开始真正有意义的工作了,事实证明我们太年轻。。。。。

遇到了一个我第三天弄了一整天都还是没有弄好的问题,天惹302跳转,循环重定向。 我们接着请求课表页面的时候不管代码怎么改,永远都是object moved  to  here  天啦噜


 问题描述:

模拟登陆成功之后继续请求了课表页面,但是出现了object moved to here,非要人工再点一下here那个地方真正的页面才会出来。

对于处理这个的问题我总结了以下几个不能解决的方法:

1.有人说是重定向问题,需要设置CURLOPT_FOLLOWLOCATION为true,   不成功,原来就已经设置了,还有一种说是写代码把location的值取出来接着请求。原理和这个设置是一样的,但是我到object moved to here那个页面看源码,location的值是空。。。。什么都没有。

2.翻阅了几篇特别详细的博文,下面也有人遇到类似的问题,但是博主们说法都有些相似,意思说header的信息模拟的不完整,不正确,,,,天地良心,抓包之后显示的能设的我都设了,真不知道还要弄什么。  这个也不成功


3.还有一个很奇怪的地方,很多博主都有贴出来他们抓包的照片,用的工具应该是一样的,他们抓包之后显示的数据是包含表单的,我的就没有,只有请求头什么的,但是我自己去看源码是包含他们提交的那些数据的,于是我又构造了表单提交,然并卵。。。。。。还是。。。。。Object moved to here  我恨你。。。。。。。。。。



你可能感兴趣的:(cURL模拟登陆的各种问题)