2013-01-11 160 views
1

我想從谷歌圖書(我經常購買)下載一本圖書以脫機閱讀(遺憾的是,該選項不適用於我的圖書)。 我想創建一個腳本,我拉出的頁面,然後將它們保存在PDF ... 我不認爲有什麼非法的,因爲我支付.. 我試過使用捲曲,但你看到的頁面是未認證。 然後我寫道:以curl登錄

function leggiUrl($url,$data){ 
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_POST,true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS,$data); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); 
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); 
    $content = curl_exec($ch); 
    curl_close($ch); 
    return $content; 
} 
$page=leggiUrl("https://www.google.com/accounts/ServiceLoginAuth", array("Email" => "[email protected]", "Passwd" => "miapassword")); 
echo $page; 

不幸的是顯示我的谷歌登錄頁面...因爲它沒有登錄?

+0

你應該使用cookies ...看看'CURLOPT_COOKIEFILE'和'CURLOPT_COOKIEJAR'。 –

+0

@ glavic:-1。 postfields會高興地接受一組名稱/值對,併爲您查詢它。 –

回答

0

如果你看https://www.google.com/accounts/ServiceLoginAuth的來源,你會看到一堆隱藏的字段。谷歌希望這些字段,以便允許登錄。你需要看看使用Oauth 2登錄谷歌的方法,直接POST不會這樣做: https://developers.google.com/accounts/docs/OAuth2