我无法让php curl工作。 我需要登录页面,然后在登录后立即获取页面的源代码。
<?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 :(得分:1)
看看这里:
用于自动接受https:
的证书curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
答案 1 :(得分:0)
Spyros指定的方法应该可行,并且是最简单的技巧。但不是最安全的,因为它涉及安全问题(不建议不进行同行验证!)。
另一种方法是下载您尝试访问的页面的证书并将其保存在项目文件夹下。然后使用此代码将证书信息提供给cURL:
curl_setopt($ch, CURLOPT_CAINFO, getcwd().'/certificates/BuiltinObjectToken-EquifaxSecureCA.crt');
您可以通过转到网址栏中的paddle lock图标,轻松地从Firefox下载证书。