Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 确定MediaWiki安装的项目路径_Java_Mediawiki_Mediawiki Api - Fatal编程技术网

Java 确定MediaWiki安装的项目路径

Java 确定MediaWiki安装的项目路径,java,mediawiki,mediawiki-api,Java,Mediawiki,Mediawiki Api,当我只知道wiki的域时,如何使用MediaWiki确定wiki的文章路径($wgallectpath) 我做了一些研究,但只找到了在自己的安装中找到答案的方法,而不是我无法控制的安装 到目前为止,我提出了一些方法,但似乎并不总是奏效: 请求根域的网站并查看链接,但我不知道哪些链接指向wiki。在某些情况下,URL也只链接到子域,而不是主页(其中包括文章路径),因此我还需要请求每个wiki的主页 使用api.php,但我没有找到方法。看起来这个URL也是可以修改的 使用页面Special:Ve

当我只知道wiki的域时,如何使用MediaWiki确定wiki的文章路径(
$wgallectpath

我做了一些研究,但只找到了在自己的安装中找到答案的方法,而不是我无法控制的安装

到目前为止,我提出了一些方法,但似乎并不总是奏效:

  • 请求根域的网站并查看链接,但我不知道哪些链接指向wiki。在某些情况下,URL也只链接到子域,而不是主页(其中包括文章路径),因此我还需要请求每个wiki的主页
  • 使用
    api.php
    ,但我没有找到方法。看起来这个URL也是可以修改的
  • 使用页面
    Special:Version
    ,但这需要我已经知道文章路径。我只能核实一下

您可以使用
action=query&meta=siteinfo
从API获取文章路径。文章路径包含在一组名为“general”的属性中。英文维基百科中的一个示例,仅查询
general
属性:

https://en.wikipedia.org/w/api.php?action=query&meta=siteinfo&siprop=general
在本例中,您将发现:
“articlepath”:“/wiki/$1”

如果您甚至不知道API的路径,可以解析起始页面(或任何页面)的标记,并在标题中查找
标记。在最近的MediaWiki版本的任何默认安装中都会发现这一点(尽管通过使用一些扩展显然完全可以删除此标记)

讨论可能会引起兴趣。