使用史努比类自动登录Wordpress Admin失败


Auto Login in Wordpress Admin using Snoopy class fails

我想自动登录到我的wordpress管理员来执行一些操作,所以我使用了snoopy php类。我的示例代码在这里

<?php
include 'Snoopy.class.php';
$snoopy = new Snoopy;
 $submit_url = "http://localhost/wordpress/wp-login.php";   
 $submit_vars["log"] = "admin"; //username
 $submit_vars["pwd"] = "admin";  //password
 $submit_vars["rememberme"] = "forever"; 
 $submit_vars["redirect_to"] = "http://localhost/wordpress/wp-admin/";
 $submit_vars["testcookie"] = "1";
 $submit_vars["wp_submit"] = "submit"; 
 $snoopy->submit($submit_url,$submit_vars); 
print $snoopy->results; 
 ?>

但是我得到:

ERROR: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.

虽然,我可以手动登录,但这不起作用,cookie也在我的浏览器中启用。

我做错了什么?我怎样才能使它工作呢?

打印标题:

print_r ($snoopy->headers);
输出:

... [5] => Set-Cookie: wordpress_test_cookie=WP+Cookie+check; ...

但是打印cookie

print_r ($snoopy->cookies);

交付

... [wordpress_test_cookie] => WP Cookie check ...

解决方案:设置

$snoopy->cookies['wordpress_test_cookie']="WP+Cookie+check";

在提交前手动操作,因为史努比会以明文形式清除cookie内容,并将"+"设置为空白