2011-03-08 131 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通过在地址栏要桨锁图标下载证书。