I'm having trouble accessing a MediaWiki site using Perl, but I can use the same URL in a browser and it appears to work.
Minimal test case:
use strict; use warnings; use Data::Dumper; use MediaWiki::API; my $mw = MediaWiki::API->new(); $mw->{config}->{api_url} = 'https://cabig-kc.nci.nih.gov/Vocab/KC/api. +php'; # modify the LWP::UserAgent object so it looks like a browser $mw->{ua}->agent( 'Mozilla/5.0' ); # https://cabig-kc.nci.nih.gov/Vocab/KC/api.php?action=query&list=allp +ages&aplimit=max my $titles = $mw->api( { action => 'query', list => 'allpages', aplimi +t => 'max' } ) || die $mw->{error}->{code} . ': ' . $mw->{error}->{details};
The output I get is:
2: 403 Forbidden : error occurred when accessing https://cabig-kc.nci. +nih.gov/Vocab/KC/api.php
I used a browser to access the URL above (see comment in example code) and the results of the query were displayed.
I also tried the equivalent procedure using LWP::UserAgent, but received the same 403 forbidden error as above.
use strict; use warnings; use LWP::UserAgent; my $ua = LWP::UserAgent->new(); $ua->agent( 'Mozilla/5.0' ); my $url = 'https://cabig-kc.nci.nih.gov/Vocab/KC/api.php?action=query& +list=allpages&aplimit=max'; my $response = $ua->get( $url ); if( $response->is_success ) { print $response->content; } else { print "Error: " . $response->status_line . "\n"; }
Any suggestions?
TIA
In reply to Error accessing MediaWiki API by bobf
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |