我嘗試使用下面的代碼獲取登錄頁面的內容。我嘗試了不同的URL,但對於這個我不確定它爲什麼返回空白結果。我檢查了錯誤日誌,沒有顯示任何內容,並且啓用了我的捲曲。使用PHP curl獲取登錄內容
solved
我嘗試使用下面的代碼獲取登錄頁面的內容。我嘗試了不同的URL,但對於這個我不確定它爲什麼返回空白結果。我檢查了錯誤日誌,沒有顯示任何內容,並且啓用了我的捲曲。使用PHP curl獲取登錄內容
solved
。在你的捲曲設置一些錯誤配置,第一:
$login = array(
'username' => $username,
'password' => $pass,
'login' => 'login'
);
這應該只有您要發佈的字段,所以'login' => 'login'
是無關緊要的。 字段名稱必須與表單字段名稱匹配,否則它們對服務器沒有任何意義。你可以通過Firebug檢查他們的名字或檢查元素。
二:
$loginUrl = 'https://affiliate.styles.my/index.php/login/page/login';
既然你要發送一個form
,你應該張貼到在action
屬性中設定的網址,您可以通過射擊在FireFox檢查元素髮現這一點,並檢查form
標籤,然後看看action
屬性指向的網址是什麼。
試試這個:
<?php
$username = 'eldy';
$pass = '1234';
$login = array(
'user' => $username,
'password' => $pass
);
$loginUrl = 'https://affiliate.styles.my/index.php/login/dologin';
echo http_build_query($login);
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($login));
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, "https://affiliate.styles.my/index.php/dashboard/page/dashboard");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
$content2 = curl_exec($ch);
echo $content2;
curl_close($ch);
?>
首先你所有登錄帖子的網址是不正確的。實際的形式公佈網址是
$loginUrl = 'https://affiliate.styles.my/index.php/login/dologin';
除此之外形式發佈字段設置不正確,密碼字段應該是「通過」而不是「密碼」
$login = array(
'username' => $username,
'pass' => $pass,
'login' => 'login'
);
所以,我們要做的正確方法這將是 第一次加載登錄頁面 帖子發送數據 然後取儀表板頁面 下面是正確的代碼
<?php
$username = 'eldy';
$pass = '1234';
$login = array(
'username' => $username,
'pass' => $pass,
'login' => 'login'
);
$loginUrl = 'https://affiliate.styles.my/index.php/login/dologin';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://affiliate.styles.my/index.php/login");
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_exec($ch);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $login);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
//curl_setopt($ch, CURLOPT_VERBOSE, 1);
var_dump($ch);
$content = curl_exec($ch);
//echo $content;
curl_setopt($ch, CURLOPT_URL, "https://affiliate.styles.my/index.php/dashboard/page/dashboard");
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_VERBOSE, 1);
$content2 = curl_exec($ch);
echo $content2;
curl_close($ch);
你有沒有測試過它?它並沒有解決我的問題。 – 2015-02-10 12:22:57
@AmyJohnson我正要測試它。但我發現密碼已更改:D。 – 2015-02-10 12:35:11