2011-03-08 142 views
1

我無法讓php curl工作。 我需要登錄到一個頁面,然後在登錄後立即獲取頁面的源代碼。https登錄頁面捲曲

<?php 

//user login information 
$username = ""; 
$password = ""; 
$submit = "Login"; 
//server link and variables 
$url ="https://orapp2.hunter.cuny.edu/sims/cls.MySchedule.login"; 
$nameField ="p_login_name"; 
$passField ="p_passwd"; 
$subField ="Login"; 

$cookie_file = "/tmp/cookie.txt"; 

$page = curl_init($url); 

curl_setopt($page , CURLOPT_POST, 1); 
$postData = $nameField."=".$username."&".$passField."=".$password."&".$subField."=".$submit; 
curl_setopt($page, CURLOPT_POSTFIELDS, $postData); 
curl_setopt($page, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($page, CURLOPT_COOKIEJAR, $cookie_file); 

$out = curl_exec($page); 
echo $out; 
curl_close($page);  

?> 

回答

0

由斯皮羅斯指定的方法應該工作,其最簡單的把戲各地。但不是最安全的,因爲它涉及安全問題(不建議不要進行同行驗證!)。

另一種方法是下載您嘗試訪問的頁面的證書並將其保存在您的項目文件夾下。然後用這個代碼發給證明書,信息捲曲:

curl_setopt($ch, CURLOPT_CAINFO, getcwd().'/certificates/BuiltinObjectToken-EquifaxSecureCA.crt'); 

您可以輕鬆地從Firefox通過在地址欄要槳鎖圖標下載證書。