0

我想自动登录到我的 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。

我做错了什么?我怎样才能使它起作用?

4

1 回答 1

0

打印标题:

print_r ($snoopy->headers);

输出:

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

但是打印饼干

print_r ($snoopy->cookies);

交付

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

解决方案:设置

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

提交前手动,因为史努比清除了纯文本的cookie内容,并在空白处设置了“+”。

于 2014-10-21T09:02:03.947 回答