#java #php #curl #captcha
#java #php #curl #captcha
Вопрос:
Я использую curl PHP для получения изображения из Jcaptcha.
hidCaptchaID генерируются Jcaptcha.
Проблема в том, что я продолжаю получать сообщение об ошибке с указанием недопустимого кода captcha, я знаю, что введенная мной captcha верна.
Я отправляю hidCaptchaID, Disablet Chachars и другие данные с помощью curl
Я проверил запрос заголовка из firefox firebug, и это фактически то же самое, что отправка через CURL. Сеанс и файлы cookie также являются одинаковыми.
В чем может быть проблема?
Примечание: Мой вопрос не имеет ничего общего с обходом / прерывателем captcha. Я ввожу код captcha вручную, а затем отправляю с помощью 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>
Комментарии:
1. Можете ли вы показать нам код, который у вас есть на данный момент?
2. @user622378 Каков результат
$postDataCapcha
?3. содержит html — неверный код, требующий повторного ввода кода captcha еще раз
4. Извините, неправильно истолковал ваш запрос, вывод такой: existing_mobile_number=077xx134xx78amp;customer_postcode=LN1 xxZamp;inCaptchaChars=GueGxXSamp;hidCaptchaID=xxx435dgddgxxxxx