在某些网站上,当您想要登录时,您还需要输入验证码。如果我想为用户提供支持,将验证码输入我的应用程序(然后登录网站),我该怎么做?
我的问题是,验证码图像的链接是这样的:example.com/captcha
,每次加入时它都会提供不同的图像。
我的方法是这样的:
问题是,如果您下载图像以向用户显示图像,您实际上会收到的图像与加载页面时生成的图像不同,对吗?如何获取页面加载时生成的图像,以便当我向用户显示时,它是正确的?
问题是与语言无关。
答案 0 :(得分:3)
我认为你的问题是关于会话,你的app下载图片的会话以及提交登录表单的app会话可能不是同一个会话,那么你的验证码永远不会是正确的,你应该在请求之间保持会话,通常是网站设置的一些cookie。
答案 1 :(得分:1)
听起来你正试图自己发明一个验证码解决方案。您考虑过使用reCAPTCHA吗?它是免费的。
答案 2 :(得分:1)
你能对你的情况有所了解吗?从你所说的,我假设如下:
答案 3 :(得分:1)
按照设计,大多数验证码都会给你一个不同的图像。没办法解决这个问题。
首先要做的是打开fiddler。通过这种方式,您可以看到浏览器正在做什么,以便它可以进行认证。保持原谅。
通常归结为发送的cookie。因此,您需要做的是在您的客户端应用程序上保留cookie,并使用该cookie发送所有请求。不同的平台提供了这样做的功能,但我确信快速搜索会告诉你如何。
记住要注意所有在小提琴手中交换的内容,你需要确保你的应用程序触发相同的内容。除了cookie之外,还要注意js可能在表单上设置的任何隐藏字段。
答案 4 :(得分:0)
生成的图像也是提供给用户的图像。你的“主要”html页面没有/不应该生成图像,它只使用图像标记嵌入它。
答案 5 :(得分:0)
您可以使用验证码图像传递某种令牌,也可以附加到文件名中,例如captcha-0ad719bef61bc6a0.jpg,附加的数据可以链接到数据库服务器端的具有正确答案的临时表。这样您就可以在不将图像和答案传递给应用程序的情况下检查一切正常。
答案 6 :(得分:0)
我不确定我是否完全理解这个问题,但是你不会只是在从服务器请求后在本地存储验证码,然后从客户端应用程序嵌入本地映像,同时存储任何必要的会话验证码数据假设用户输入正确,那将允许在帖子上验证验证码吗?
如果问题是每次请求时验证码都会发生变化,只需要请求一次。
如果这不适用于您,您能否提供更多说明?
答案 7 :(得分:0)
这取决于验证码到另一个验证码。也许你需要使用会话或cookie或一些验证码图像文件名。显示带有验证码的页面。