2011-11-18 66 views
-1

我正在尝试阅读非公开Goog​​le网站页面的内容。我编写了PHP脚本来阅读公共Google Sites页面,因此它使用了php的file_get_content()。使用PHP访问(非公开)Google协作平台网页

有没有办法登录php脚本,以便能够访问非公开的Google协作平台页面?

+0

您可以使用卷曲来发表您的登录凭据,然后让你从卷曲结果所需要的网页 – danneth

回答

0

找到一些旧的代码,做了类似的事情。应该让你开始

/* Prepare cURL */ 
$ch = curl_init(); 

// set these according to the login form 
$login_query = http_build_query(
        array('username'=> 'username', 
         'password' => 'your_password', 
         'login' => 'log in')); 

/* Set options */ 
curl_setopt($ch, CURLOPT_URL, 'www.yourpage.com'); 
curl_setopt($ch, CURLOPT_REFERER, 'www.yourpage.com'); //set this to whatever the normal login does 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3'); //set to something resonable 
curl_setopt($ch, CURLOPT_TIMEOUT, 120); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies/cookie.txt'); // make sure directory is writable 
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies/cookie.txt'); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $login_query); 
curl_setopt($ch, CURLOPT_POST, 1); 

$urlcontent = utf8_encode(curl_exec($ch)); 
$curl_info = curl_getinfo($ch); 

// at this point you are logged in... get your page 

/* Initiate cURL request */ 
curl_setopt($ch, CURLOPT_URL, 'www.yourpage.com/what-you-want'); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3'); 
curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_REFERER, 'www.yourpage.com'); 
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies/cookie.txt'); 
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies/cookie.txt'); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

/* Send cURL request */ 
$result_data = utf8_encode(curl_exec($ch)); 
$curl_info = curl_getinfo($ch); 

/* Close cURL */ 
curl_close($ch); 

/* Handle result if any */ 
if ($this->curl_info['http_code'] == 200) 
{ 
    // at this point your page is in $result_data 
} 
0

如果您想要访问需要某种帖子,会话或任何内容的页面,我建议您使用CURL而不是file_get_contents。你可以在the documentation上阅读更多关于它的信息。

如果它适用于Google非公开页面,则不确定。它可以变成一个很大的挑战,但:-)

相关问题