Джапча и Керл - PullRequest
       21

Джапча и Керл

0 голосов
/ 14 мая 2011

Я использую curl PHP для получения изображения из Jcaptcha.

hidCaptchaID генерируется Jcaptcha.

Проблема в том, что я постоянно получаю сообщение об ошибке с неверным кодом капчи, я знаю, что введенная капча верна.

Я отправляю hidCaptchaID, inCaptchaChars и другие данные, используя curl

Я проверил запрос заголовка от Firefox Firebug, и он фактически такой же, как отправка через CURL. Сессия и куки одинаковы.

В чем может быть проблема?

Примечание: мой вопрос не имеет ничего общего с обходом / прерыванием капчи. Я ввожу код капчи вручную, а затем отправляю, используя curl.

Код:

<?php

$cookiesPath = "c:/wamp/www/cookies";

$a = session_id();
if ($a == '') session_start();

if ($_GET) {

   $form_link = $_GET['newURL'];

    unset($_GET['newURL']);

    $postDataCapcha = http_build_query($_GET);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "\BuiltinObjectToken-VerisignClass3xxxxxxxxxxxxxxxxxxxxxxx.crt");
    curl_setopt($ch, CURLOPT_URL, "https://xxxxx.xxxxx.co.uk/xxxxx/xxxxx/" . $form_link );
    curl_setopt($ch, CURLOPT_POST, 1 );
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postDataCapcha);
    curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE); 

    curl_setopt($ch, CURLOPT_COOKIE, "JSESSIONID=xxxxxxxxxxxxx:xxxxxxxxx");
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiesPath . "/cookiefile.txt");
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiesPath . "/cookiefile.txt");

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $PagaeCapcha = curl_exec($ch); 

    echo "<hr><br />";
    echo($PagaeCapcha);
    exit();
}


<form action="index.php" method="get">
Number: <br />
<input name="existing_mobile_number" id="existing_mobile_number" type="text">
<br /><br />

Customer Postcode:<br />
 <input name="customer_postcode" id="customer_postcode"  type="text">
<br /><br />
Capcha Code:<br />
<input id="captchauserid" name="inCaptchaChars" type="text">

<input name="hidCaptchaID" value="<?php echo $capcha_id['0']->value; ?>" type="hidden" />
<input name="newURL" type="hidden" value="<?php echo $capchalink; ?>" />

<input value="Go!" type="submit" />
</form>
...