Ребята в чем фишка?

вопросы и ответы по использованию PHP
Ответить
nikson
Сообщения: 94
Зарегистрирован: 20 янв 2011, 02:36
Контактная информация:

Ребята в чем фишка?

Сообщение nikson » 12 ноя 2011, 19:57

Добрый вечер!

Объясните мне в чем фишка не могу понять, простые комментарии без реги и прочего, вот урл http://www.lik74.ru/shop/group_602/item_178/ есть база, все работает пучком, но именно на этом блоге не сохраняется капча ни по урл ни по src ни по имени, просто не сохраняется и все, на остальных сайтах все норм, толи хуман тупит толи я...

nikson
Сообщения: 94
Зарегистрирован: 20 янв 2011, 02:36
Контактная информация:

Re: Ребята в чем фишка?

Сообщение nikson » 13 ноя 2011, 12:47

Никто не знает?

satih
Сообщения: 270
Зарегистрирован: 31 мар 2010, 23:44

Re: Ребята в чем фишка?

Сообщение satih » 13 ноя 2011, 15:46

попробуй получить ее через курл с куками хумана, изменил чуть функцию которую юзал для похожих случаев, сработало.

Код: Выделить всё

<?php
function GetCaptcha() {
	global $browser, $webpage;

	preg_match('`captcha\.php\?get_captcha=(\d+)`', $webpage->get_body(), $cap_id);
	$cap_id = $cap_id[1];

	// собираем хедер
	$header = array();
	$header[] = 'Accept: */*';
	$header[] = 'Referer: http://www.lik74.ru/shop/group_602/item_178/';
	$header[] = 'Accept-Language: en-us';
	$header[] = 'User-Agent: User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC2)';
	$header[] = 'Host: www.lik74.ru';
	$header[] = 'Connection: Keep-Alive';
	$header[] = 'Cookie: '.$browser->get_cookie();

	// while для курл ошибок
	while (true) {
		$ch = curl_init('http://www.lik74.ru/captcha.php?get_captcha='.$cap_id.'mail&height=30&width=100');
		curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
		curl_setopt($ch, CURLOPT_TIMEOUT, 30);
		curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		$res = curl_exec($ch);
		if (curl_errno($ch)) {
			curl_close($ch);
			sleep(3);
			continue;
		}
		curl_close($ch);
		break;
	}
	file_put_contents('captcha.jpg', $res);
}
?>

nikson
Сообщения: 94
Зарегистрирован: 20 янв 2011, 02:36
Контактная информация:

Re: Ребята в чем фишка?

Сообщение nikson » 14 ноя 2011, 09:05

Мне эту функцию нужно просто добавить или еще что то прописывать надо?

satih
Сообщения: 270
Зарегистрирован: 31 мар 2010, 23:44

Re: Ребята в чем фишка?

Сообщение satih » 14 ноя 2011, 15:02

эта функция сохранит картинку в файл captcha.jpg , если нужно изменить название то сохранение в последней строке:

Код: Выделить всё

file_put_contents('captcha.jpg', $res);
протестил ее с хуманом, каптчу сохранило, потом вбил ее код руками, пост прошел.

nikson
Сообщения: 94
Зарегистрирован: 20 янв 2011, 02:36
Контактная информация:

Re: Ребята в чем фишка?

Сообщение nikson » 14 ноя 2011, 16:33

satih писал(а):эта функция сохранит картинку в файл captcha.jpg , если нужно изменить название то сохранение в последней строке:

Код: Выделить всё

file_put_contents('captcha.jpg', $res);
протестил ее с хуманом, каптчу сохранило, потом вбил ее код руками, пост прошел.
Странно, но у меня картинку не сохраняет... :(

satih
Сообщения: 270
Зарегистрирован: 31 мар 2010, 23:44

Re: Ребята в чем фишка?

Сообщение satih » 14 ноя 2011, 23:32

попробуй прописать полный путь сохранения картинки, например

Код: Выделить всё

file_put_contents('C:\XWeb\Human Emulator\My Scripts\captcha.jpg', $res);

Ответить