https登录页面卷曲

时间:2011-03-08 01:15:33

标签: php curl login datasource

我无法让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);    

?>

2 个答案:

答案 0 :(得分:1)

看看这里:

http://www.codercaste.com/2009/12/15/use-curl-with-php-to-handle-http-requests-and-create-useful-scripts/

用于自动接受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下载证书。