Этот скрипт прекрасно работает при получении google.com, но не с google.com/search?q=test.Когда я не использую CURLOPT_FOLLOWLOCATION, я получаю 302 Move.Когда я его использую, я получаю страницу с просьбой ввести капчу.Я пробовал несколько разных прокси в США и изменил строку пользовательского агента.Есть что-то, чего я здесь не хватает?
function my_fetch($url,$proxy,$user_agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8')
{
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_PROXY, $proxy);
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_REFERER, 'http://www.google.com/');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt ($ch, CURLOPT_TIMEOUT, 20);
$result = curl_exec ($ch);
curl_close ($ch);
return $result;
}
$url = 'http://www.google.com/search?q=test';
$proxy = '152.26.53.4:80';
echo my_fetch($url,$proxy);
Пожалуйста, не отвечайте на предложения по использованию API вместо этого.API недостаточно для моих нужд.