我想在 bash 中按 curl 顺序在同一页面上提交两个表单。http://en.wikipedia.org/w/index.php?title=Special:Export包含两种形式:一种用于填充给定 Wikipedia 类别的页面列表,另一种用于获取该列表的 XML 数据。
在 bash 中使用 curl,我可以独立提交第一个表单,返回一个填充 pages 字段的 html 文件(尽管我不能使用它,因为它是本地的,而不是在维基百科服务器上):
curl -d "addcat=1&catname=Works_by_Leonardo_da_Vinci&curonly=1&action=submit" http://en.wikipedia.org/w/index.php?title=Special:Export -o "somefile.html"
我可以在指定页面时提交第二个表单,以获取 XML:
curl -d "pages=Mona_Lisa&curonly=1&action=submit" http://en.wikipedia.org/w/index.php?title=Special:Export -o "output.xml"
...但我不知道如何组合这两个步骤,或者将一个步骤导入另一个步骤,以返回一个类别中所有页面的 XML,就像我手动执行这两个步骤时得到的那样。http://www.mediawiki.org/wiki/Manual:Parameters_to_Special:Export似乎表明这是可能的;有任何想法吗?我不必使用 curl 或 bash。