Я не могу заставить 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); ?>
Посмотрите здесь:
Используйте это для автоматического принятия сертификата для https:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Метод, указанный Spyros, должен работать, и это самый простой трюк. Но не самый безопасный, так как он связан с проблемами безопасности (не рекомендуется проверять сверстников!).
Альтернативой является загрузка сертификата страницы, которую вы пытаетесь посетить, и сохранения ее в папке проекта. Затем используйте этот код, чтобы предоставить информацию сертификата в cURL:
curl_setopt($ch, CURLOPT_CAINFO, getcwd().'/certificates/BuiltinObjectToken-EquifaxSecureCA.crt');
Вы можете легко загрузить сертификат из firefox, перейдя к значку блокировки paddle в строке url.