2016-03-04 38 views
0

我想使用一个叫做RubyPress的宝石,它允许从ruby使用Wordpress的xml-rpc api。但它总是给我这个错误:不能使用RubyPress gem给getaddrinfo:没有这样的主机是已知的。 (SocketError)

getaddrinfo: No such host is known. (SocketError) 

这里是我的代码:

require 'rubypress' 
wp = Rubypress::Client.new(:host => "localhost/wordpress", 
          :username => "admin", 
          :password => "admin") 
p wp.getOptions 

我能够使用名为wp_rpc但rubypress另一颗宝石似乎不工作正常连接。 Rubypress似乎被维护,所以我想使用它,它似乎也有更多的功能。

此外,即使我尝试连接到一个真实的网站,它给出了一个非常奇怪的403错误。

我在Windows 7上使用XAMPP运行服务器。我如何才能使它工作?

更新: 下面是我用于发布的代码,现在它似乎没有发布。不知道我错了哪里。

wp.newPost(:blog_id => 0, # 0 unless using WP Multi-Site, then use the blog id 
      :content => { 
         :post_status => "publish", 
         :post_date => Time.now, 
         :post_content => "This is the body", 
         :post_title => "RubyPress is the best!", 
         :post_name => "/rubypress-is-the-best", 
         :post_author => 1, # 1 if there is only the admin user, otherwise the user's id 
         :terms_names => { 
          :category => ['Category One','Category Two','Category Three'], 
          :post_tag => ['Tag One','Tag Two', 'Tag Three'] 
              } 
         } 
      ) 

注意:这是从rubypress github页面。这些类别和标签不在博客上,是这个原因吗?

回答

1

host必须是主机名(例如"localhost"在这种特殊情况下,或者说,"google.com"):

require 'rubypress' 
wp = Rubypress::Client.new(host: "localhost", 
          username: "admin", 
          password: "admin", 
          path: "/wordpress/xmlrpc.php") 

也许,你可能需要调整path参数最多究竟指向哪里WP的RPC端点被找到。

+0

是的你是对的,它的工作!非常感谢! –

+0

抱歉再次打扰,它正确提取数据,但现在我似乎无法发布到博客。我刚刚更新了有问题的代码。 –

+0

不要感谢它的工作。 –

相关问题