cURL和JavaScript的提交按钮->ajax

cURL and submit button of JavaScript -> ajax?

本文关键字:gt ajax 按钮 JavaScript 提交 cURL      更新时间:2023-09-26

我正在使用cURL尝试登录此网站https://myportal.vtc.edu.hk/wps/portal/,但我发现有一个javascript函数

<"onclick="GoLogin(); return false;"> 

以控制登录访问。

所以我无法连接到这个网站,这是我下面的代码,

<?php
$username = 'userid';
$password = 'password';
$loginUrl = 'https://myportal.vtc.edu.hk/wps/portal';`

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'userid='.$username.'&password='.$password );
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$store = curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, 'https://myportal.vtc.edu.hk/wps/myportal/!ut/p/c4/04_SB8K8xLLM9MSSzPy8xBz9CP0os3hTC39DAxNz98CwMEtTA08f50DjQEdzIwMDI_2CbEdFABEW-jM!/');
$content = curl_exec($ch);
curl_close($ch);
?>

这是GoLogin()函数:

      $.ajax({
              url:      loginForm.attr('action'),
            cache:      false,
            async:      false,
            data:       params,
            type:       "POST",
            complete:   function(jqXHR, textStatus) {
                if (jqXHR.status == 200)  {
                    // login successfull
                    window.location = '/wps/myportal';
                } else if (jqXHR.status == 399) {
                    // login successfull
                    window.location = jqXHR.responseText;
                } 

我如何登录这个网站,请帮我。

这样你就无法连接,因为通过curl你无法执行javascript。

对于上述要求,您应该使用http://phantomjs.org/。

它的php库也可用。

https://github.com/jonnnnyw/php-phantomjs

或者你可以看看http://slimerjs.org/.