Как получить неограниченное количество запросов с помощью операции curl? - PullRequest
0 голосов
/ 31 августа 2011

Я пытаюсь получить данные с помощью функции CURL с других веб-сайтов, таких как обратные ссылки Google, индексные страницы Yahoo, данные Whois и т. Д., Но после 5-10 запросов мой IP-адрес или IP-адрес моего сервера блокируется и не показывает никакого значения.Вот функция Curl, которую я использую:

function getPage ($url) {
if (function_exists("curl_init")) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
return curl_exec($ch);
curl_close($ch); 
} else {
return file_get_contents($url);
}
}

Помогите мне получать неограниченные запросы от Google, Yahoo и сайта sowm whois.Что не так с этим кодом?

1 Ответ

1 голос
/ 01 сентября 2011

Я думаю, вы должны использовать YQL для этого!

примеры http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/

http://www.brighthub.com/hubfolio/matthew-casperson/articles/54673.aspx

UPD

просто посмотрите исходный код https://github.com/jamespadolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.js

Тамэто также веб-консоль, где вы можете протестировать любые запросы - давайте скачаем текущую страницу =)

http://developer.yahoo.com/yql/console/?q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fq%3Fs%3Dyhoo%22#h=select%20%20*%20from%20html%20where%20url%3D%22http%3A//stackoverflow.com/questions/7253665/file-get-contents-unlimited-queries-how-to/7268078%23comment-8764764%22

примеры кода с php http://developer.yahoo.com/yql/guide/yql-code-examples.html#yql_php

Но внимательно прочитайте документацию - ничегоидеально и YQL имеет ограничения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...