想象一下外部网站上的这个Captcha:
<img id="sec-string" onclick="reLoadCaptcha(this);" src="captcha.jpg?random=4850737809844572943" alt="Try another" title="Try another">
现在我读取并存储“随机”的值,在本例中为“4850737809844572943”。 这是通过cURL GET完成的。 所以现在我可以通过img-tag在我的网站上显示图像。 使用输入字段,我可以输入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显示正确的字符串,但结果是“Wtong Captcha”
表单数据的其余部分有效。事实上,Captch输入也是正确的。 它只是不被接受或被视为错误。
有什么想法会中断执行?
由于
编辑:
我想到了我网站上的2次cURL执行。 首先是从外部页面获取cookie,会话,表单元素等数据。 其次是将数据POST,我填写在我的页面,到外部页面。 那么这算作1或2个实际的网站请求/操作吗?!
我的意思是因为Captcha及其现状。
思想?
答案 0 :(得分:0)
我终于解决了它。
问题确实是有2个cURL请求。 我没有将它们分成2个函数,因为我的脚本是单个文件。 有点逻辑,但我花了一些时间来实现它:)
现在,当URL中没有GET数据时,会发送GET-Request。 如果URL中有GET数据,则为POST请求。
在发生图片重新加载之前,因为GET-cURL在POST-cURL之前再次执行。
Captcha完成!