1

此脚本通过主登录表单,但不会在安全问题屏幕上发布。有什么帮助吗?结果只是打印出安全问题屏幕,即使我正在尝试使其 POST。

    $username = 'XXXX';
    $password = 'XXXX';
    $loginUrl = 'https://www.dandh.ca/v4/dh';

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $loginUrl);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'Login='.urlencode($username).'&PW='.urlencode($password).'&Request=Login&formName=Login&jsEnabled=0&queryString=&Platform=Full&btLogin='.urlencode('Log In'));
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
    curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36");

    curl_exec($ch);

    curl_setopt($ch, CURLOPT_POSTFIELDS, 'securityAnswer=XXXX&Request=postForm&formName=loginChallengeValidation&btContinue=Continue');

    echo curl_exec($ch);
4

1 回答 1

1

This is because you don't have a cert file. You could set option CURLOPT_SSL_VERIFYPEER to FALSE.

于 2013-06-15T18:24:20.673 回答