3

我想使用 R 的 RCurl 包登录 WordPress 网站以安装 WordPress 插件(可能在 WordPress 的某些选项页面上使用 postForm)。由于该网站受密码保护,我请求您帮助我验证我的 R 会话。

我发现以下三个链接相关,但不知道如何将它们用于 WordPress:

有什么建议么?

谢谢。

4

2 回答 2

5

我已经使用 REDCap 处理了类似的事情 - 可能对你也有用。这个简短的示例展示了我如何使用 REDCap API 来获取数据。

library(RCurl)
out <- postForm("https://redcap.url.org/redcap/api/",
                 token="INSERT TOKEN HERE",
                 content="record",
                 type="flat",
                 format="csv",
                 .opts=curlOptions(ssl.verifypeer=FALSE))
write(out,file="C:/wherever/out.csv")

请注意,这不会对 SSL 进行正确检查——我在以后的版本中对此进行了改进。更冗长的解释在我的 Google+ 个人资料中:https: //plus.google.com/106259574970597769926/posts/U3fVCTV4EdQ

看起来您可以通过传递正确的参数来使用 cURL 登录 Wordpress,如下所述: http ://w4dev.com/wp/login-into-wp-using-curl/

看起来有问题的 URLhttp://localhost/wordpress/wp-login.php和重要的参数可以在上面的页面中找到。基本上,您需要定义用户、他们的密码以及之后您希望将他们重定向到站点的位置。这些是该 PHP 示例中描述参数的方式

"log=". $login_user .
"&pwd=" . $login_pass .
"&wp-submit=Log%20In&redirect_to=" . $visit_url;

基本上,它只是构造一个要发布的字符串,它看起来像:

http://yourwordpress.fake/wp-login.php?log=trehman&pwd=abc123456&wp-submit=Log%20In&redirect_to=http://yourwordpress.fake/pageyouwant

因此,您可以将上面的 postForm 更改为具有不同的 URL 和参数,它应该让您获得身份验证,然后将您重定向到您想要的页面。我不是这里的专家,但我很确定您可以重定向到另一个带有参数的长 URL,这样您就可以“提交”表单或类似的东西。

于 2012-08-09T14:51:36.583 回答
3

您可以使用该XMLRPC包访问 wordpress

library(XMLRPC)
service <- "http://myblog.wordpress.com/xmlrpc.php"
xml.rpc(service, "wp.getUsersBlogs", "my@email", "secretpassword", .convert = TRUE)

此 API 支持的功能在此处记录。使用wp.uploadFile它可能可以将照片加载到服务器中。

于 2012-08-09T21:03:03.807 回答