Я использую этот код:PHP CURL функция 301 ошибка
function getUrl($url) {
if(@function_exists('curl_init')) {
$cookie = tempnam ("/tmp", "CURLCOOKIE");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; CrawlBot/1.0.0)');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); # required for https urls
curl_setopt($ch, CURLOPT_MAXREDIRS, 15);
$site = curl_exec($ch);
curl_close($ch);
} else {
global $site;
$site = file_get_contents($url);
}
return $site;
};
Но я вижу ошибка 301 Moved постоянно.
Что я могу сделать, чтобы решить эту проблему? Можете ли вы дать мне правильный код, пожалуйста?
Похоже, сервер не предоставляет WHERE, куда перемещено местоположение, поэтому ваш curl не имеет URL-адреса для FOLLOWLOCATION. Вы ничего не можете сделать, и ваш код верен. – DanFromGermany
http://stackoverflow.com/questions/14054652/getting-301-with-curl-despite-followlocation вы видели это? –
@ kk12391 да, как мне изменить свой код? – user3214712