我打開一個頁面作爲登錄用戶,它似乎工作,除了網站有某種保護系統。如果我通常這樣做,我會得到我想要的頁面,但如果我用cURL來做,我會得到'Welcome back user(userid)'和一個鏈接到我請求的頁面。一旦我點擊鏈接,我就會得到我想要的位置。現在我嘗試僞造引用者並檢查發送到頁面的數據,這裏沒有什麼特別的。當我點擊鏈接時,我只是簡單地重定向到我想要的頁面。我的問題是,爲什麼沒有這個代碼讓我有作爲:作爲登錄用戶失敗的cURL/PHP開放
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL , "http://www.site.com/sell/index");
curl_setopt($ch, CURLOPT_REFERER, 'http://www.site.com');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13");
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_FAILONERROR, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, false);
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
$response = curl_exec($ch);
curl_close($ch);
echo $response;
我這樣做只是之前,我進行登錄過程和搶餅乾。而且我確實可以以登錄用戶的身份打開頁面,我似乎無法訪問它,而無需點擊ahref。
PS。如果我登錄,打開我想要的頁面,關閉瀏覽器並再次打開它,也會發生同樣的情況。所以我認爲這與推薦人有關?
是否使用'curl_setopt($ ch,CURLOPT_MAXREDIRS,10);'有什麼幫助? – Quixrick
@Quixrick nope我得到了同樣的結果。該網站知道我已登錄,但似乎知道我也在使用cURL。如果它有所不同,則Cookie文件在其中包含多個Cookie。 –
嗯,那我不知道。除此之外,我能想到的是將瀏覽器訪問的頭文件與cURL訪問頭文件進行比較。聽起來像你可能已經這樣做了,但。 – Quixrick