我想自动登录到我的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内容,并将"+"设置为空白