cURL not working - PHP


cURL not working - PHP

我想连接这个网站(https://ais.usvisa-info.com/en-ae/niv/users/sign_in)与cURL在PHP,但空白屏幕显示,没有错误。问题在哪里?

感谢代码:

<?php
function login($url, $data){
    $fp = fopen("cookie.txt", "w");
    fclose($fp);
    $login = curl_init();
    curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
    curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($login, CURLOPT_TIMEOUT, 40000);
    curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($login, CURLOPT_URL, $url);
    curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($login, CURLOPT_POST, TRUE);
    curl_setopt($login, CURLOPT_POSTFIELDS, $data);
    ob_start();
    return curl_exec ($login);
    ob_end_clean();
    curl_close ($login);
    unset($login);
}
?>
<?php
    echo login("https://ais.usvisa-info.com/en-ae/niv/users/sign_in", 'utf8=✓&authenticity_token=TEST&user[email]=test@yss.com&user[password]=12345&recaptcha_challenge_field=TEST&recaptcha_response_field=TEST&commit=Sing In');
?>

您正在回显登录结果。Login返回curl_exec($ Login)。由于调用了curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);,它将在成功时返回结果,在失败时返回FALSE。如果没有错误,结果可能是一个空字符串(请查看服务器日志以确定)。

在这里阅读更多关于返回值的信息。

顺便说一下,return完成了function,之后的任何进一步的行都是完全不相关的。请将curl_exec的结果存储到一个局部变量中,并在function的末尾返回。