如何处理ajax的session一致问题?

我现在需要用python模拟注册一个网站。

注册页面的验证码是一个iframe的链接(应该不算是ajax吧?)

那么请问服务器端是如何保证这个iframe链接的验证码图片,对应的就是我当前提交的内容呢?

然后,相应的我应该如何处理我的程序呢?

阅读 3.1k
1 个回答

这个涉及到HTTP如何保存状态的问题。HTTP本身是没有状态的,但是我们用浏览器访问一个网站的时候,浏览器和网站服务器之间可以使用cookie服务端sessionURL重写等手段维持相互之间的状态。

也就是说,你前后多次访问同一个网站时,网站是知道这些访问是你发起的,而不是别人。

以你现在要做的事情为例子来说,就是当你打开注册页面时,网站就记录了你的身份信息,获取验证码图片时,网站会把图片对应的验证码保存到你的身份信息中,这样就把你和验证码图片关联起来了。等到你填写完点击提交时,网站拿到你填写的验证码,然后与之前保存的值进行比较,看是否一致,这样就知道你有没有输对验证码了。

关于你的程序该如何处理,给你一个思路:

  1. 首先你要拿到这个显示验证码图片的iframe的链接地址,然后发起HTTP请求,获取网页内容

  2. 解析其中的内容,拿到验证码图片的地址,再发起HTTP请求,获得图片数据

  3. 拿到图片之后,就需要进行图片识别了,可以利用现有的库来做

  4. 把识别到的验证码放到你的注册信息中,提交

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题