2012-03-28 7 views
1

こんにちは私は次の問題がありますロードhttpsウェブサイトphp

私はPHPでウェブサイトをlaodしたいと思います。私はCURLを使用しましたが、私のサーバーではopen_basedirを設定しました。

だから、私は次のようなエラーメッセージが表示されます:セーフモードまたはopen_basedirのが

コードに設定されているが、あるとき

CURLOPT_FOLLOWLOCATIONを起動することができません。

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_USERAGENT, $useragent); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
$store = curl_exec ($ch); 
$error = curl_error ($ch); 
return $store; 

に代わる方法はありますphpを使ってウェブサイトを読み込みますか?あなたはfile_get_contents()を使用して、ウェブサイトのコンテンツを取得しようとすることができます

おかげ

+1

あなたはおそらく全く 'CURLOPT_FOLLOWLOCATION'を必要としません。その行を削除するだけです。 – ceejayoz

+0

カールを使用することはできますが、リダイレクトを手動で行うだけで済みます。 –

+0

@Brian:特定のURLが実際のコンテンツにリダイレクトする場合のみ。誰もがリダイレクトを使用するわけではありません... –

答えて

2

$content = file_get_contents('http://www.example.com/'); 

// to specify http headers like `User-Agent`, 
// you could create a context like so: 
$options = array(
    'http' => array(
     'method' => "GET", 
     'header' => "User-Agent: PHP\r\n" 
    ) 
); 
// create context 
$context = stream_context_create($options); 
// open file with the above http headers 
$content = file_get_contents('http://www.example.com/', false, $context); 
+0

file_get_contentsでユーザエージェントを設定する方法はありますか? – matthias

+0

@ user1131623 - 例4を見てください。http://www.php.net/manual/en/function.file-get-contents.php – Cyclonecode

関連する問題