Новичок
Покинул форум
Сообщений всего: 38
Дата рег-ции: Май 2014
Помог: 0 раз(а)
|
Проблема в том что по какой то причини сервис антигейта постоянно выдает ошибку ERROR_ZERO_CAPTCHA_FILESIZE. капча лежит в папке скрипта весит в среднем 2-3 кб. обычное изображение капчи. путь в скрипте указан верно до капчи. все передаться. нормально. но ошибка все равно имеется. Пробывал как и jpg, png так и закодированную капчу отправлять.
часть кода где капча сохраняется вот
А вот сам функция который отправляет капчу на антигейт. отправляю закодированную капчу
PHP:
скопировать код в буфер обмена
function recognize( $filename = './captcha.jpg', $apikey = 'мой ключ', $is_verbose = true, $domain="antigate.com/in.php", $rtimeout = 5, $mtimeout = 120, $is_phrase = 0, $is_regsense = 0, $is_numeric = 0, $calc = 0, $min_len = 0, $max_len = 0, $is_russian = 0 ) { { if ($is_verbose) echo "file $filename not found\n"; return false; } 'method' => 'base64', 'key' => $apikey, 'body' => $captcha, //капча в base64 'phrase' => $is_phrase, 'regsense' => $is_regsense, 'numeric' => $is_numeric, 'calc' => $calc, 'min_len' => $min_len, 'max_len' => $max_len, 'is_russian'=> $is_russian ); curl_setopt($ch, CURLOPT_URL , "http://$domain/in.php"); { if ($is_verbose) echo "CURL returned error: ".curl_error($ch)."\n"; return false; } if (strpos($result, "ERROR")!==false) { if ($is_verbose) echo "server returned error: $result\n"; return false; } else { $captcha_id = $ex[1]; if ($is_verbose) echo "captcha sent, got captcha ID $captcha_id\n"; $waittime = 0; if ($is_verbose) echo "waiting for $rtimeout seconds\n"; while(true) { $result = file_get_contents("http://$domain/res.php?key=".$apikey.'&action=get&id='.$captcha_id); if (strpos($result, 'ERROR')!==false) { if ($is_verbose) echo "server returned error: $result\n"; return false; } if ($result=="CAPCHA_NOT_READY") { if ($is_verbose) echo "captcha is not ready yet\n"; $waittime += $rtimeout; if ($waittime>$mtimeout) { if ($is_verbose) echo "timelimit ($mtimeout) hit\n"; break; } if ($is_verbose) echo "waiting for $rtimeout seconds\n"; } else { if (trim($ex[0])=='OK') return trim($ex[1 ]); } } return false; } } ?>
Вот что в консоле при отправке капчи.
[url]pixs.ru/showimage/antipng_7438657_14772460.png [/url]
Вот сохраненная капча.
[url]pixs.ru/showimage/captchajpg_3926832_14772481.jpg[/url](Отредактировано автором: 18 Ноября, 2014 - 14:29:01)
|