无法使用curl和php登录wordpress

无法使用curl和php登录wordpress,php,wordpress,cookies,curl,Php,Wordpress,Cookies,Curl,我试图使用curl在php中创建一个函数,该函数登录到我的本地wordpress,但我遇到了麻烦 我有这个功能: function wordpressLogin($username, $password, $loginUrl, $visitUrl, $userAgent, $cookieFile) { if (!function_exists('curl_init') || !function_exists('curl_exec')) { echo 'curl is no

我试图使用curl在php中创建一个函数,该函数登录到我的本地wordpress,但我遇到了麻烦

我有这个功能:

function wordpressLogin($username, $password, $loginUrl, $visitUrl, $userAgent, $cookieFile) {
    if (!function_exists('curl_init') || !function_exists('curl_exec')) {
        echo 'curl is not available!';
    }

    //$postData = "log=". $login_user ."&pwd=" . $login_pass . "&wp-submit=Log%20In&redirect_to=" . $visit_url;
    $postData = "log=$username&pwd=$password&wp-submit=Log+In&redirect_to=$visitUrl&testcookie=1";

    $ch = curl_init();

    //Url to use for login
    curl_setopt($ch, CURLOPT_URL, $loginUrl);

    //Activate cookiejar
    //curl_setopt($ch, CURLOPT_COOKIESESSION, true);

    //Set cookie
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile );

    //No need for SSL
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    //User agent
    curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);

    //Timeout
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);

    //Follow redirection
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

    //Return or echo
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    //Referer
    curl_setopt($ch, CURLOPT_REFERER, $loginUrl);

    //POST
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
    curl_setopt($ch, CURLOPT_POST, 1);


    //Save result to content
    $content = curl_exec($ch);

    //Close curl
    curl_close($ch);

    //Return content
    echo $content;
}

//Testing

$username = 'admin';
$password = 'admin';

$loginUrl = 'http://localhost/wordpress/wp-login.php';
$visitUrl = urlencode('http://localhost/wordpress/wp-admin');
$userAgent = 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0';
$cookieFile = '/tmp/cookie.txt';

wordpressLogin($username, $password, $loginUrl, $visitUrl, $userAgent, $cookieFile);
$postData变量包含我的wordpress的用户名和密码。 当我运行wordpress时,我从wordpress中得到这个错误。错误:您的浏览器阻止或不支持Cookie。您必须启用Cookie才能使用WordPress。

即使我已经为它设置了一个烹饪罐,我也得到了这个,我不知道为什么

如果我从$postData变量中取出testcookie=1参数,它只会显示一个空白页面。我昨天测试了这个脚本,没有testcookie参数,它工作了,但是今天我重新安装了我的wordpress,我得到了这个cookie错误

总之,如果我离开testcookie参数,它会显示一个错误。如果我把它拿出来,它会给我看一页空白


想法呢?

根据您打算做什么,使用WordPress XMLRPC接口可能会更容易。我有很多事情要做,但我正在尝试使用curl,因为我想要两个XMLRPC不支持的函数(上传和激活主题,插件也一样)。@user3564958 Try
curl\u setopt($ch,CURLOPT_COOKIEFILE,$COOKIEFILE);
@RahilWazir尝试了这个,现在我又得到了一个空白页。嗨,你有解决这个问题的方法吗?我正在使用Jmeter处理类似的问题。它给我同样的错误:你的浏览器阻止或不支持Cookies。你必须启用Cookies才能使用WordPress。