2011-02-13 10 views
2

私はデータを取得したいページにログインする必要があるとします... file_get_contentsを使用してそのページのデータを取得するにはどうすればよいですか?ログインが必要なページのfile_get_contents

+1

どのようなログインですか? –

+0

curlが頭に浮かんできます。もちろん、サイトのオーナーからこれを行う権限があります –

+0

おそらく、file_get_contents + stream_context_createを使用してPOSTログインリクエストを送信し、ログイン情報を送信し、送信されたCookieを$ http_response_headerから取り出し、anhter file_get_contentsこのCookieを使用してターゲットページにアクセスするには、+ stream_context_createを実行します。 – NikiC

答えて

1

オプションは、curlを使用して必要なデータを取得することです。

$url  = "http://site.com/url-to-post-data-to"; 
$postfields = "var1=data&var2=data"; 
$password = "password" 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_USERPWD, $password); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields); 
$response = curl_exec($ch); 

echo $response; 
0

CURLがこれを行うには良い方法だろうが、あなたはのfile_get_contentsを使用する必要がある場合は、ユーザー/パスワードのもののような任意の「高度」のhttpオプションを使用するには、最初のストリームコンテキストを作成する必要があります。これはPHP docs page hereのサンプルです。例#4のlookeです。

関連する問題