O Z
Постоялец
- Регистрация
- 15 Июн 2007
- Сообщения
- 101
- Реакции
- 21
- Автор темы
- #11
Код тут пока ничем не поможет, обычный запрос + проверка на результат:
function get_page ($link, $flag = false) {
if ($flag === true) @unlink('tmp/cookie.txt');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'tmp/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'tmp/cookie.txt');
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
function google_page ($page, $link, $key) {
do {
$block = explode('id="res"', $page);
if (empty($block[1])) {
$id = $this->get_google_captcha_id($page);
$file = $this->save_google_img($this->get_page("Для просмотра ссылки Войдиили Зарегистрируйся"), $id);
// Отправка капчи на antigate для распознавания
do {
$responce = $this->recognize($file, $key);
preg_match_all('/error|waiting|not\sready|timelimit/i', $responce, $matches);
} while (!empty($matches[0][0]));
//unlink($file);
$new_link = $this->google_captcha($id, $link, $responce);
$page = $this->get_page($new_link);
}
} while (empty($block[1]));
$result = $block[1];
return $result;
}
Только тут ведь ошибка в том, что я пытался достать капчу по id, а это неверно.
Пока не нашел решения, как сохранить капчу.
function get_page ($link, $flag = false) {
if ($flag === true) @unlink('tmp/cookie.txt');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'tmp/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'tmp/cookie.txt');
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
function google_page ($page, $link, $key) {
do {
$block = explode('id="res"', $page);
if (empty($block[1])) {
$id = $this->get_google_captcha_id($page);
$file = $this->save_google_img($this->get_page("Для просмотра ссылки Войди
// Отправка капчи на antigate для распознавания
do {
$responce = $this->recognize($file, $key);
preg_match_all('/error|waiting|not\sready|timelimit/i', $responce, $matches);
} while (!empty($matches[0][0]));
//unlink($file);
$new_link = $this->google_captcha($id, $link, $responce);
$page = $this->get_page($new_link);
}
} while (empty($block[1]));
$result = $block[1];
return $result;
}
Только тут ведь ошибка в том, что я пытался достать капчу по id, а это неверно.
Пока не нашел решения, как сохранить капчу.