FOLLOWLOCATIONとMAXREDIRSを使用しているにもかかわらず、301エラーが発生します。何をすべきかわからないので、できる限りのことを試しました。HEADERを0に、FOLLOWLOCATIONを1に、MAXREDIRSを30に、USERAGENTを複数回変更し、COOKIEFILEのみを使用し、次にCOOKIEJARを一緒に使用しましたが、何もしませんでした。
これが最も奇妙な部分です。私がスクレイプしようとしている同じWebサイトは、特定のページだけで、他のページに301を提供しません。何か案は??
function curl_start($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_REFERER, "http://google.com/");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_ENCODING, "gzip");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
$html = curl_exec($ch);
curl_close($ch);
return $html;
}