我现在用其他编程语言(delphi)做了一个工具、尝试向某网站采集一些信息、不过要获取信息需要用户登录、登录需要一个验证码、于是我做了下面的工作:
(采用indy中的idhttp控件实现、允许cookies)1.设置各种头信息(UserAgent,Referer等等)
2.GET验证码(地址形式为xxx.php?act=init)
3.设置好一个要发送的包
4.向表单提交地址(user.action.php?action=login)以POST形式发送但是无论如何、网站均返回结果验证码错误、请问这可能是什么原因、因为我对PHP不太了解、服务端一般这个是怎么验证的?我概念里验证码的实现都是在服务端创建一个session、然后把用户提交与之前保存的对比、这样在参数传递过程中唯一涉及的就是一个session id、我看了下保存在cookies中的session id一直没有改变过、没有理由会说验证码失败.....求高手解释
(采用indy中的idhttp控件实现、允许cookies)1.设置各种头信息(UserAgent,Referer等等)
2.GET验证码(地址形式为xxx.php?act=init)
3.设置好一个要发送的包
4.向表单提交地址(user.action.php?action=login)以POST形式发送但是无论如何、网站均返回结果验证码错误、请问这可能是什么原因、因为我对PHP不太了解、服务端一般这个是怎么验证的?我概念里验证码的实现都是在服务端创建一个session、然后把用户提交与之前保存的对比、这样在参数传递过程中唯一涉及的就是一个session id、我看了下保存在cookies中的session id一直没有改变过、没有理由会说验证码失败.....求高手解释
嗯、现在就是这样的、已经是一模一样了、实在不知道为什么会提示验证码错误、我曾经也碰到过几次、不知道是不是巧合、凡是出现这种情况的都是PHP的网站...
就是这个注册....
如果不急过两天给你看看,手头上的事情太多了。开发过不少桌面应用程序 对idhttp模拟登录这块有点心得.希望过两天空了能帮你解决问题.你可以先试一下ICS是否有问题.
源码发你邮箱了。
先谢谢你了、不过你的EXE我试了下、依旧提示验证码错误、难道是我网络环境问题?理应没这个问题、浏览器注册是正常的、我是采用路由器上网的、并且把自己的电脑设置成DMZ主机了、
那这个就解释不通了、我家是网通4M光钎、通过TP-Link TL-R402路由共享上网的、系统是Windows7你发的这个我找网上的一些测试了下、大部分人都是OK的、但也有极少一部分人和我一样、一直提示验证码错误...
似乎原因不是太明确、可能是路由的问题、我刚才把路由的frame升级了一下、然后找了另外一台电脑连到这个路由下、测试成功、我再次用我自己的电脑测试也成功了、真是不好意思耽误大家这么多时间、结贴了、分数不多、早知道弄100分了