【原】从外部使用MediaWiki API(使用curl)

mediawiki 安装目录下面有个api.php文件, 通过这个文件, 第三方程序可以获取此wiki的信息
此文档的完整信息, 请参见官方的文档:http://www.mediawiki.org/wiki/API:Main_page

在外部调用api的时候(使用自制的客户端, 访问其他wiki网站等)需要提交cookie, 下面演示一下获取用户id

// mediawiki api的位置
$config_api_url= "http://localhost/wiki/api.php";
$curl_handle = curl_init($config_api_url."?format=xml&action=query&meta=userinfo");
$strCookie = "";
foreach ( $_COOKIE as $key=>$value )
{
	$strCookie .= $key."=".$value.";";
}
curl_setopt( $curl_handle, CURLOPT_COOKIE, $strCookie );
ob_start();
curl_exec($curl_handle);
$result = ob_get_contents();
ob_end_clean();
curl_close($curl_handle); 
 
echo $result;
 
$doc = new DOMDocument();
$doc->loadXML( $result);
$userinfo = $doc->getElementsByTagName( "userinfo" )->item(0);
$ecms_userid = $userinfo->getAttribute("id");
$ecms_userid = (int)$ecms_userid;
此条目发表在 PHP 分类目录,贴了 , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>