2012-09-07 84 views
1

读了WordPress的文档,并做了一些研究,它好像对如何获得最后的10个职位在WordPress网站的建议,就是要做到以下几点:红宝石,WordPress的:看了最近的帖子

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:节点名称也不servname提供,或者不知道

任何想法?

回答

1

事实上,当我试图从我的Sinatra应用程序与xmlrpc /客户端进行发布时,我遇到了相同的错误消息。

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

我发现它似乎xmlrpc并不真的喜欢这个协议。我从链接中删除了

 http:// 

并且顺利进行。试试看,也许有帮助。