我在這裏有很多希望解決我的問題。我有這個網站我想登錄並訪問一個會員專頁。所以基本上用cURL的php代碼來登錄,然後打開一個成員唯一的頁面。以下是我使用的代碼。但每次我嘗試訪問僅限會員頁面時,它都會要求我登錄。所以它不會在我已經登錄會話或Cookie保存PHP cURL登錄到一個網站
..........
set_time_limit(0);
$username = '[email protected]';
$password = 'mypassword';
$loginUrl = 'http://radaris.com/login/a.login';
$cookie_file_path = getcwd() . '/tmp/cookie.txt';
//init curl
$ch = curl_init();
//Set the URL to work with
curl_setopt($ch, CURLOPT_URL, $loginUrl);
// ENABLE HTTP POST
curl_setopt($ch, CURLOPT_POST, 0);
//Set the post parameters
curl_setopt($ch, CURLOPT_HEADER, 1); // set to 0 to eliminate header info from response
curl_setopt($ch, CURLOPT_POSTFIELDS, 'email='.$username.'&password='.$password."&remember_me=1");
//Handle cookies for the login
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
//Setting CURLOPT_RETURNTRANSFER variable to 1 will force cURL
//not to print out the results of its query.
//Instead, it will return the results as a string return value
//from curl_exec() instead of the usual true/false.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//execute the request (the login)
$store = curl_exec($ch);
echo "<font color=red>Login</font><br>".$store."<br><br>";
$postfields = array();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://radaris.com/my/');
curl_setopt($ch, CURLOPT_HEADER, 1); // set to 0 to eliminate header info from response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
//Handle cookies for the login
// Edit: prior variable $postFields should be $postfields;
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$result = curl_exec($ch);
echo "<font color=red>Report</font><br>".$result."<br><br>";
..........
結果我得到的是:
登錄HTTP/1.1 200 OK服務器:nginx日期:週四,6月12日2014年14點21分01秒 GMT內容類型:應用程序/ JSON傳輸編碼:分塊 連接:保持活躍保持活動:超時= 20的Cache-Control:沒有店面, 無緩存,必重新驗證緩存 - 控制:後檢查= 0,預檢查= 0 到期日:星期三,2009年19:00:00 GMT X-Robots-Tag中1月14日:NOINDEX {「/Rdf.showError":[["Inv alid email or password「,」login_form「],[」檢查 你的電子郵件「,」login_email「],[」檢查你的密碼「,」login_password「]]]
報告HTTP/1.1 302找到服務器:nginx日期:2014年6月12日,星期四 14:21:03 GMT內容類型:text/html; charset = utf-8傳輸編碼: chunked連接:keep-alive Keep-Alive:timeout = 20位置: /login?backurl =%2Fmy%2F HTTP/1.1 200 OK服務器:nginx日期:星期四,12月 Jun 2014 14:21:03 GMT內容類型:text/html; charset = utf-8 Transfer-Encoding:chunked連接:keep-alive Keep-Alive: timeout = 20變化:Accept-Encoding變化:Accept-Encoding Set-Cookie: PHPSESSID = qdg80d48dd17hl879h86v9ruo5;路徑= /;僅Http到期日:星期四, 1981年11月19日8點52分00秒GMT緩存控制:無店鋪,無緩存, 必重新驗證,檢查後= 0,預檢查= 0雜注:無緩存登錄我們 絕不會分享或透露您的信息!
以上所述僅爲頭。在第二個頭文件中,我再次登錄表單登錄,這意味着我的代碼的第一位成功登錄沒有保存會話,這就是爲什麼當我訪問僅成員頁面時,它要求登錄。
我真的非常渴望完成這件事。謝謝大家提前。
它很有意義。但我不知道要使用什麼選項和刪除。你可以通過簡單易用的代碼讓我開始,只需登錄,然後在保持登錄狀態時進入第二個網址。 – user3734397
你能PLZ給我一個例子,從我上面的代碼,讓我開始對你給我的建議代碼: 初始化蜷縮 設立cookiefile/cookiefar和其他選項 做的登錄請求 接下來做下一個請求 接近捲曲 謝謝等待有人幫助我,因爲我很新的捲曲。 – user3734397