如何使用PHP cURL检索验证码并保存会话?

如何使用PHP cURL检索验证码并保存会话?,php,curl,save,captcha,Php,Curl,Save,Captcha,更新:已解决 大家好,我知道了,把饼干存起来 到临时文件,并使用重新提交表单 卷曲并将cookie与先前的 临时文件:)感谢所有回复:) 这是我的工作代码 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url_register); curl_setopt($ch, CURLOPT_USERAGENT, $this->useragent); curl_setopt($ch, CURLOP

更新:已解决


大家好,我知道了,把饼干存起来 到临时文件,并使用重新提交表单 卷曲并将cookie与先前的 临时文件:)感谢所有回复:)

这是我的工作代码

$ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url_register);  
        curl_setopt($ch, CURLOPT_USERAGENT, $this->useragent);
        curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookie); 
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);    
        $out['result']  = curl_exec($ch); 
        $out['error']   = curl_error($ch);
        $out['info']    = curl_getinfo($ch);
        curl_close($ch);
对于下一个卷曲,只需像这样使用CURLOPT_-COOKIEFILE

/* fetch captcha url with existed cookie */
            $ch = curl_init($captcha_url);
            curl_setopt($ch, CURLOPT_USERAGENT, $this->useragent);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
            curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookie); 
            curl_setopt($ch, CURLOPT_FILE, $fp); 
            $out2['result'] = curl_exec($ch);
            $out2['error']  = curl_error($ch);
            $out2['info']   = curl_getinfo($ch);
            curl_close($ch);
大家好

我正在创建一些脚本,通过php curl提交内容。首先获取会话和验证码,用户必须将验证码提交到最终提交

问题是我无法获取验证码,我尝试使用此代码和preg_匹配来获取图像标签并返回它

    $ch = curl_init();

 curl_setopt($ch, CURLOPT_URL,$url);  
 curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2');
 curl_setopt($ch, CURLOPT_HEADER, 0);
 curl_setopt($ch, CURLOPT_COOKIE, 1);
 curl_setopt($ch, CURLOPT_COOKIEJAR, "1");
 curl_setopt($ch, CURLOPT_COOKIEFILE, "1");
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);    
    $result = curl_exec($ch);  
    curl_close($ch);
但运气不好,我要提交的页面是

我希望有人能帮我:)


感谢并问候
CURLOPT\u-setopt
上的php手册页面,
CURLOPT\u-COOKIEFILE
CURLOPT\u-COOKIEJAR
都应该指定一个文件名。您可以将它们设置为“1”(可能有效,但这是您想要的吗?

从php手册页面的
curl\u setopt
CURLOPT\u COOKIEFILE
CURLOPT\u COOKIEJAR
都应该指定一个文件名。您将它们设置为“1”(这可能是有效的,但这是您想要的吗?

验证码的目的不是为了阻止您的尝试吗?如果您找到了解决方案,只需发布一个答案,并在评论中发布并接受它,所以这个问题不再是没有答案的Ferri你能不能在核心php中分享一下什么将取代$this->cookie和$this->useragent,以及当两个curl混淆时,curl的具体步骤是什么,我需要知道,我们是否需要先获取页面,然后获取验证码或将验证码与页面一起获取验证码,验证码的目的不是为了阻止您的尝试?如果您找到了解决方案,只需发布一个答案,您在评论中发布并接受它,所以这个问题不再是没有答案的了Ferri你能在核心php中分享一下什么将取代$this->cookie和$this->useragent,curl的具体步骤是什么因为这两个curl混淆了,我需要知道我们需要先获取页面,然后获取验证码,还是与pageHi all一起获取验证码,我知道了,只需将cookie保存到临时文件,然后使用curl重新提交表单并使用以前的临时文件设置cookies:)谢谢大家的回复:)嗨,大家好,我知道了,只需将cookie保存到临时文件,然后使用curl重新提交表单并使用以前的临时文件设置cookies:)谢谢大家的回复:)