使用php将数据和验证码发布到网站

时间:2012-07-14 00:48:04

标签: php session cookies curl captcha

我正在尝试将数据发布到来自php的网址。我在这个论坛上查了下面的代码。

$url = 'http://www.someurl.com';  
$myvars = 'myvar1=' . $myvar1 . '&myvar2=' . $myvar2;  
$ch = curl_init( $url );  
curl_setopt( $ch, CURLOPT_POST, 1);  
curl_setopt( $ch, CURLOPT_POSTFIELDS, $myvars);  
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);  
curl_setopt( $ch, CURLOPT_HEADER, 0);  
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);  
$response = curl_exec( $ch );  

但我的目标网站也有验证码。 如何在我的php上加载验证码并使用验证码答案提交?

我看了看链接。虽然没有得到最终解决方案。 How to retrieve captcha and save session with PHP cURL?
How to retrieve captcha and save session with PHP cURL?http://hungrycoder.xenexbd.com/general/how-to-submit-a-form-using-php-curl-fsockopen.html

我的目标网站包含如下代码

<form method="post" action="action_form.php" name="frm_sms" id="frm_sms"> < input     type="hidden" name="nav" value="sms" />   

我不需要绕过验证码,但我只想加载一个整洁的表格和验证码img,但没有其他垃圾,并通过验证码答案提交信息。

1 个答案:

答案 0 :(得分:2)

您必须首先使用cURL获取验证码图像并保存其设置的任何会话cookie的内容,或者记下验证码标识符(取决于验证码的工作方式),然后将图像副本保存到服务器

然后在表单中向访问者显示验证码的副本。为他们添加输入字段输入验证码解决方案将他们的输入添加到您的$myvars字符串,并发送随图像一起设置的cookie或验证码ID以及表单帖子。

这是您将验证码转发给用户的一种方式。或者他们可能有一个你可以注册的API。