【问题标题】:XML-RPC pinging (google and others)XML-RPC ping(谷歌和其他)
【发布时间】:2012-03-23 06:21:44
【问题描述】:

我正在尝试 ping(称为“ping”的 SEO 策略用于新内容以让机器人更快地对其进行索引)Google 中的 PHP。我唯一知道的是我需要将我的请求发送到以下网址: http://blogsearch.google.com/ping/RPC2

也许我可以使用 PHP XML-RPC functions。我不知道如何格式化我的请求以及使用哪种方法。

【问题讨论】:

    标签: php xml seo xml-rpc


    【解决方案1】:

    就您而言,执行 XML-RPC 请求 (Example #1)。

    如果你关注specification of a pingback,它会是这样的:

    $sourceURI = 'http://example.com/';
    $targetURI = 'http://example.com/';
    $service = 'http://blogsearch.google.com/ping/RPC2';
    
    $request = xmlrpc_encode_request("pingback.ping", array($sourceURI, $targetURI));
    $context = stream_context_create(array('http' => array(
        'method' => "POST",
        'header' => "Content-Type: text/xml",
        'content' => $request
    )));
    $file = file_get_contents($service, false, $context);
    $response = xmlrpc_decode($file);
    if ($response && xmlrpc_is_fault($response)) {
        trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
    } else {
        print_r($response);
    }
    

    这会给你以下输出:

    Array
    (
        [flerror] => 
        [message] => Thanks for the ping.
    )
    

    一般来说,如果你不知道你调用的是哪个方法,你也可以试试XML-RPC Introspection——但并不是所有的 XML-RPC 服务器都提供这个。


    您在评论中提问:

    根据规范,$targetURI 应该是:“源站点上链接的目标。这应该是启用 pingback 的页面”。如何制作启用 pingback 的页面,或者更重要的是,这实际上是什么?

    启用 pingback 的站点是一个同时宣布 XML-RPC pinbback 服务的网站。这是通过 <head> 部分中的 HTMl <link> 元素完成的。示例:

    <link rel="pingback" href="http://hakre.wordpress.com/xmlrpc.php" />
    

    href 指向一个 XML-RPC 端点,该端点具有可用的 pingback.ping 方法。

    或者通过发送一个特定的 HTTP 响应头来完成:

    X-Pingback: http://charlie.example.com/pingback/xmlrpc
    

    pingback-enabled resource

    因此,如果您 p​​ing 其他人,其他人也应该能够 ping 您。

    【讨论】:

    • 我应该按照 PHP 文档轻松提出请求。我不知道方法或我需要发送哪些变量。如果您可以发布指向 google 文档的链接,我真的很感激,因为我找不到它。
    • @dario111cro:我添加了规范并扩展了示例代码。
    • @dario111cro:不客气。那些规范不是@google,正如我所见,他们从他们的网站上删除了对它的引用,他们过去有某种自己的API,请参阅web.archive.org/web/20091119080527/http://www.google.co.kr/help/…
    • 根据规范,$targetURI 应该是:“源站点上链接的目标。这应该是启用 pingback 的页面”。如何制作启用 pingback 的页面,或者更重要的是,这实际上是什么?
    • @dario111cro:我再次扩展了答案。
    【解决方案2】:

    嗯,我认为我们应该使用 weblogUpdates.pingweblogUpdates.extendedPing 而不是 pingback.ping 来 ping 网站以了解新内容。

    pingback.ping 用于从一个站点到另一个站点的新链接,而不是用于新内容。

    【讨论】:

      【解决方案3】:

      我认为您应该将weblogUpdates.extendedPing 与谷歌博客搜索、博客、Pingomatic 和weblogUpdates.ping 一起用于其他服务器。我创建了一个 ping 工具,但某些服务器使用 http 和 https 返回错误,我无法给出错误Online rpc xml ping

      【讨论】:

        猜你喜欢
        • 2013-08-27
        • 1970-01-01
        • 2014-10-23
        • 2012-03-15
        • 2015-09-05
        • 1970-01-01
        • 1970-01-01
        • 2020-03-28
        • 1970-01-01
        相关资源
        最近更新 更多