Rails:验证 Wordpress 类型的博客 ping 服务是否正常工作

Rails: Verify if a Wordpress-type of blog ping service is working

我在 Rails 应用程序上为我的 Ruby 创建了一个博客,为此我创建了一个 ping 服务来 ping 像 Technorati 这样的博客门户,这样我的博客就会出现在它们中。简化代码:

    blog_name = "My blog"
blog_url = "http://www.myblog.com"
list_of_pings = [
  'http://rpc.twingly.com',
  'http://rpc.technorati.com/rpc/ping',
  'http://ping.feedburner.com/',
  'http://blogpeople.net/ping'
]
list_of_pings.each do |target_url|
  server = XMLRPC::Client.new2(URI.parse(target_url).to_s)
  begin
    result = server.call("weblogUpdates.ping", blog_name, blog_url)
    logger.info "OK"
  rescue XMLRPC::FaultException => e
    logger.error(e)
    logger.info "Fail"
  rescue 
    logger.info "Other fail"
  end      
end

据我所知,这工作正常,但我无法验证,所以我不知道。当我检查我 ping 的网站上的 "recently updated" 部分时(比我上面的例子多了 20 多个)我从来没有找到我的博客所以我预计它可能实际上不起作用。

有没有办法测试和验证接收端如何接收此 ping?是否有 Web 服务来测试像这样的 ping 或其他任何我可以测试我的博客 ping 的巧妙方法?

weblogUpdates.ping RCP 请求有一个规范。 Twingly 在他们的网站 (https://developer.twingly.com/resources/rpc-ping/) 上有文档,成功响应如下所示:

<?xml version="1.0" ?>
<methodResponse>
    <params>
        <param>
            <value>
                <struct>
                    <member>
                        <name>flerror</name>
                        <value>
                            <boolean>0</boolean>
                        </value>
                    </member>
                    <member>
                        <name>message</name>
                        <value>
                            <string>Thanks for the ping.</string>
                        </value>
                    </member>
                </struct>
            </value>
        </param>
    </params>
</methodResponse>

每个服务的 message 可能会有所不同,但通常它们都有一个 flerror 成员表示成功。