PHP curl post登录到wordpress

时间:2011-01-17 09:51:45

标签: php wordpress curl

我正在使用php curl登录到幕后的wordpress,如下所述: Wordpress autologin using CURL or fsockopen in PHP

但是我的脚本没有设置保留wordpress会话所需的cookie。相反,它们被发送回我的脚本并存储在cookies.txt中。

curl脚本和wordpress登录都位于不同目录中的同一台服务器上。

我是否需要编写另一个curl脚本来手动设置wordpress cookie?这可能吗?

2 个答案:

答案 0 :(得分:0)

如果您只是使用按原样发布的代码,那么它将无法正常工作,因为后续请求不会在每个请求上发回Cookie。添加curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);应该会有所帮助(好吧,至少它会在现在实际保存cookie的情况下使用 - 否则会查看权限) - 好吧,这取决于您的使用场景是什么。

您还可以查看10 awesome things to do with cURL以获取有关如何使用curl的一些简洁示例(示例4可能就是您正在寻找的内容)。

BTW如果此脚本适用于多个(并发)用户,则不应使用静态文件名,而是为每个用户创建一个临时文件。

答案 1 :(得分:0)

我需要将cookie发送到浏览器而不是回到我的curl脚本。 curl脚本由浏览器中运行的php脚本触发。

我解决了以下问题:

  1. 将这些参数添加到curl对象中:

    curl_setopt($ ch,CURLOPT_HEADER,1);   curl_setopt($ ch,CURLOPT_HEADERFUNCTION,'read_header');

  2. 添加了一个名为read_header的php函数,用于解析cookie数据

  3. 使用setcookie()手动设置cookie

  4. 如果有人想了解详情,请发表评论。