Hi Mediawiki-api mailing listers!
I'm trying to get the intro to a list of Wikipedia pages using the
"extracts" property with "exintro=True". This works fine for most sites,
but for a few of them the API returns an empty extract field. See for
When looking at the page "https://en.wikipedia.org/wiki/Anthem" there
definitely seems to be text before the first section, so I think I should
be getting something. Indeed without the "exintro" parameter, I get the
Any idea why this occurs?
According to RFC 7231 § 126.96.36.199, a POST request that does not include a
Content-Type header may be interpreted by the server in one of two ways:
1. It may assume application/octet-stream. In this case, PHP and the
Action API will not see the request as having any parameters, and so
will probably serve the auto-generated help page.
2. It may "sniff" the content type. It's likely enough to correctly
guess application/x-www-form-urlencoded in this case, and therefore PHP and
the Action API will see the request as having the intended parameters.
It turns out that HHVM and PHP 7 (at least as used at Wikimedia) differ in
their behaviors: PHP 7 seems to choose option 1, while HHVM chooses option
Thus, clients that have been generating POST requests to Wikimedia wikis'
Action APIs without a Content-Type header will have been receiving expected
results from HHVM but will now start receiving unexpected results as
Wikimedia's migration to PHP 7 proceeds. Affected clients should be
updated to include the Content-Type header in their requests.
See https://phabricator.wikimedia.org/T230526 for some details on this
: As seen for example at https://www.mediawiki.org/w/api.php.
: See https://phabricator.wikimedia.org/T176370 for progress on the
Brad Jorsch (Anomie)
Senior Software Engineer
Mediawiki-api-announce mailing list