MZMcBride added a comment.
Using the exact URL from the task description, I'm consistently getting a bad response: >>> from subprocess import check_output >>> args = ['curl', '-s', 'https://www.wikidata.org/w/api.php?action=wbgetentities&redirects=no&props=claims&format=json&ids=Q18407428|Q18407424|Q18407421|Q18407418|Q18407262|Q18407245|Q18407242|Q18407240|Q18407236|Q18407234|Q18407233|Q18407228|Q18407225|Q18407224|Q18407221|Q18407218|Q18407127|Q18407044|Q18407038|Q18407009|Q18407008|Q18407006|Q18407005|Q18407004'] >>> output = check_output(args) >>> output[-30:] 'nk":"normal"}]}}},"succe\'5\xfe+\x0b\x7f' I got called away while testing. Using the same URL later, I'm now getting a different bad response: >>> output[-30:] 'nk":"normal"}]}}},"succe\'e>\x17\'\x7f' I thought both `api.php` request URLs and responses were typically not cached. However, if I append a cache-buster (in this case, `&4`), I get non-corrupt output: >>> from subprocess import check_output >>> args = ['curl', '-s', 'https://www.wikidata.org/w/api.php?action=wbgetentities&redirects=no&props=claims&format=json&ids=Q18407428|Q18407424|Q18407421|Q18407418|Q18407262|Q18407245|Q18407242|Q18407240|Q18407236|Q18407234|Q18407233|Q18407228|Q18407225|Q18407224|Q18407221|Q18407218|Q18407127|Q18407044|Q18407038|Q18407009|Q18407008|Q18407006|Q18407005|Q18407004&4'] >>> output = check_output(args) >>> output[-30:] 'nk":"normal"}]}}},"success":1}' Weird. TASK DETAIL https://phabricator.wikimedia.org/T133866 EMAIL PREFERENCES https://phabricator.wikimedia.org/settings/panel/emailpreferences/ To: BBlack, MZMcBride Cc: Trung.anh.dinh, MZMcBride, Anomie, Yurivict, TerraCodes, Orlodrim, BBlack, akosiaris, zhuyifei1999, elukey, ema, Aklapper, hoo, D3r1ck01, Izno, Wikidata-bugs, aude, Mbch331, Jay8g, jeremyb _______________________________________________ Wikidata-bugs mailing list Wikidata-bugs@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs