2011-02-13 55 views
2

假设我想从中获取数据的页面需要登录...如何使用file_get_contents获取该页面上的数据?需要登录的页面上的file_get_contents

+1

什么样的登录? –

+0

curl浮现在脑海,当然你有权从网站所有者那里做到这一点 – 2011-02-13 19:09:52

+0

可能你需要使用file_get_contents + stream_context_create发送一个POST请求来发送你的登录凭据,从$ http_response_header获取发送的cookie并使用anohter file_get_contents + stream_context_create使用此cookie访问目标页面。 – 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。

相关问题