我有以下代码从Google新闻中获取Feed。它工作正常一段时间。如果我们尝试在短时间内调用此函数超过2或3,则会显示错误。
$url="http://news.google.com/news?q=Stella+Artois&hl=en&um=1&ie=UTF-8&output=rss";
$ch = curl_init();
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$data = curl_exec($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($data, 0, $header_size);
$body = substr($data, $header_size);
if(curl_error($ch)){
echo 'error:' . curl_error($ch);
}
curl_close($ch);
错误:无法连接到news.google.com端口80:拒绝连接
我知道原因是,谷歌将在几次请求后阻止访问。 SI有什么可以做的吗?我正在使用linux服务器。
答案 0 :(得分:0)
是的,谷歌将在多次尝试后阻止,甚至可能完全响应卷曲请求。您应该使用API - https://newsapi.org/google-news-api
答案 1 :(得分:0)