I would install tcpflow and see how these things are actually passed. lynx, w3m, lwp-request all have POST options... Actually nowadays all I use is $ dlocate MediaWiki::API libmediawiki-api-perl: /usr/share/man/man3/MediaWiki::API.3pm.gz here on Debian. So I don't have to mess with the POST details.