XML-RPC ping(谷歌和其他)
Posted
技术标签:
【中文标题】XML-RPC ping(谷歌和其他)【英文标题】:XML-RPC pinging (google and others) 【发布时间】:2012-03-23 06:21:44 【问题描述】:我正在尝试 ping(称为“ping”的 SEO 策略用于新内容以让机器人更快地对其进行索引)Google 中的 php。我唯一知道的是我需要将我的请求发送到以下网址: http://blogsearch.google.com/ping/RPC2
也许我可以使用 PHP XML-RPC functions。我不知道如何格式化我的请求以及使用哪种方法。
【问题讨论】:
【参考方案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。
因此,如果您 ping 其他人,其他人也应该能够 ping 您。
【讨论】:
我应该按照 PHP 文档轻松提出请求。我不知道方法或我需要发送哪些变量。如果您可以发布指向 google 文档的链接,我真的很感激,因为我找不到它。 @dario111cro:我添加了规范并扩展了示例代码。 @dario111cro:不客气。那些规范不是@google,正如我所见,他们从他们的网站上删除了对它的引用,他们过去有某种自己的API,请参阅web.archive.org/web/20091119080527/http://www.google.co.kr/help/… 根据规范,$targetURI 应该是:“源站点上链接的目标。这应该是启用 pingback 的页面”。如何制作启用 pingback 的页面,或者更重要的是,这实际上是什么? @dario111cro:我再次扩展了答案。【参考方案2】:嗯,我认为我们应该使用 weblogUpdates.ping
或 weblogUpdates.extendedPing
而不是 pingback.ping
来 ping 网站以了解新内容。
pingback.ping
用于从一个站点到另一个站点的新链接,而不是用于新内容。
【讨论】:
【参考方案3】:我认为您应该将weblogUpdates.extendedPing
与谷歌博客搜索、博客、Pingomatic 和weblogUpdates.ping
一起用于其他服务器。我创建了一个 ping 工具,但某些服务器使用 http 和 https 返回错误,我无法给出错误Online rpc xml ping
【讨论】:
以上是关于XML-RPC ping(谷歌和其他)的主要内容,如果未能解决你的问题,请参考以下文章
谷歌和Facebook全球性大规模瘫痪!开发者成立了社区继续维护Atom IDE;QQ正式上线注销功能;Symfony 4.3