想象一下外部站点上的Captcha:
<img id="sec-string" onclick="reLoadCaptcha(this);" src="captcha.jpg?random=4850737809844572943" alt="Try another" title="Try another">现在我读取并存储“随机”的值,在本例中为"4850737809844572943“。这是用cURL GET完成的。所以现在我可以通过img标签在我的网站上显示图像。有了一个输入字段,我就可以输入anwser。
<input type="text" name="captchaInput" value="" id="captchaInput" class="small" autocomplete="off" onpaste="return false;" maxlength="16" tabindex="1" required="required" placeholder="Enter the characters">现在,我将其作为cURL POST和其他表单数据一起发回。var-dump显示一个正确的字符串,但结果是“错误的Captcha”。
其余的表单数据都是有效的。事实上,Captch的输入也是正确的。只是不被接受或者被认为是错误的。
有什么能打断死刑执行的?
谢谢
编辑:
我想到了我的站点上的2 cURL执行。首先是从外部页面获取cookie、session、form元素等数据。第二个是把数据,我填写在我的网页,到外页。那么,这是否算为1或2个实际的站点请求/操作?!
我的意思是因为Captcha和它的现状。
有什么想法?
发布于 2014-10-27 08:55:22
我终于解决了。
问题是确实有两个cURL请求。我没有把它们分成两个函数,因为我的脚本是单文件的。有点逻辑,但我花了一些时间才意识到这一点:)
因此,当URL中没有GET数据时,就会发送GET请求。和POST请求,如果URL中有GET数据的话。
在发生之前,图片重新加载,因为GET-cURL是在后卷曲之前执行的。
卡普查完成了!
https://stackoverflow.com/questions/26575636
复制相似问题