不能使用 RubyPress gem 给出 getaddrinfo: 没有这样的主机是已知的。 (套接字错误)

Can't use RubyPress gem gives getaddrinfo: No such host is known. (SocketError)

我正在尝试使用名为 RubyPress 的 gem,它允许使用来自 ruby 的 Wordpress 的 xml-rpc api。但它总是给我这个错误:

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 的 gem 正常连接,但 rubypress 似乎不起作用。 Rubypress 好像还在维护所以我想用它,它似乎也有更多的功能。

此外,即使我尝试连接到真实站点,它也会出现非常奇怪的 403 错误。

我是 运行 服务器,在 Windows 上使用 XAMPP 7. 我怎样才能让它工作?

更新: 这是我用于 posting 的代码,现在它似乎不是 post。不知道我哪里出错了。

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 页面。那些类别和标签没有出现在博客上,是这个原因吗?

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

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

可能,您可能需要调整 path 参数以准确指向要找到 WP 的 RPC 端点的位置。