1

在阅读了 WordPress 文档并进行了一些研究之后,似乎关于如何在 WordPress 网站上获取最后 10 个帖子的建议是执行以下操作:

require 'xmlrpc/client'
#initialize a connection
connection = XMLRPC::Client.new2('http://www.mywordpresssite.com')
result = connection.call('metaWeblog.getRecentPosts', 1,'admin','123456')
#or it seems that I can also call:
result = connection.call('wp.getPages', 1,'admin','123456',10)

在连接调用之后,我得到了一个合法的结果:

 => #<XMLRPC::Client:0x007fdfec50cac0 @http_header_extra=nil, @http_last_response=nil, @cookie=nil, @host="www.mywordpresssite.com", @path="/RPC2", @proxy_host=nil, @proxy_port=nil, @use_ssl=false, @timeout=30, @port=80, @password=nil, @user=nil, @auth=nil, @http=#<Net::HTTP www.mywordpresssite.com:80 open=false>, @parser=nil, @create=nil> 

但是当我这样做时:

result = connection.call('wp.getPages', 1,'admin','123456',10)

或者

result = connection.call('metaWeblog.getRecentPosts', 1,'admin','123456')

我得到:

SocketError: getaddrinfo: nodename or servname provided, or not known

有任何想法吗?

4

1 回答 1

1

实际上,当我尝试使用 xmlrpc/client 从我的 Sinatra 应用程序发布时,我遇到了相同的错误消息。

有趣的是,当我使用从 IRB 发帖的相同方式时,我可以成功地发帖到我的博客上。

我发现 xmlrpc 似乎并不真正喜欢该协议。我删除了

      http:// 

从链接,它顺利进行。试试看,也许有帮助。

于 2013-01-15T12:22:39.270 回答