我想從我的其他域獲取一些字段的值。 其他域名網站有一個登錄頁面。我正在瀏覽器中成功登錄,並調用了file_get_contents()函數,但它仍然返回我登錄頁面的HTML。CURL成功登錄重定向到登錄頁面
我想要在URL中傳遞的頁面的HTML。
這裏是添加cookie文件
$COOKIEFILE = dirname(__FILE__) . '/cookie.txt';
$formFields['username'] = 'XXXXXX';
$formFields['password'] = 'XXXXXX';
$ch = curl_init();
// set some options on the handle
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $COOKIEFILE);
curl_setopt($ch, CURLOPT_COOKIEFILE, $COOKIEFILE);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_URL, 'https://www.mydomain.lcl/login');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($formFields));
$data = curl_exec($ch);
第二請求登錄
curl_setopt($ch, CURLOPT_URL, 'https://www.mydomain.lcl/dashboard');
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt');
$result = curl_exec($ch);
後,任何人都可以PLZ建議我如何繞過登錄頁面和訪問頁面的HTML後,我的代碼。
服務器上的'file_get_contents()'與瀏覽器中的登錄/會話完全無關。您需要在服務器上使用cURL登錄遠程服務器,然後以登錄用戶身份登錄頁面。 – jeroen