bobf has asked for the wisdom of the Perl Monks concerning the following question:
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Error accessing MediaWiki API
by holli (Abbot) on Mar 27, 2009 at 16:29 UTC | |
by bobf (Monsignor) on Mar 27, 2009 at 16:35 UTC | |
by Marshall (Canon) on Mar 27, 2009 at 20:11 UTC | |
|
Re: Error accessing MediaWiki API
by bobf (Monsignor) on Mar 28, 2009 at 20:08 UTC | |
by Anonymous Monk on Mar 29, 2009 at 07:25 UTC | |
by bobf (Monsignor) on Mar 29, 2009 at 19:50 UTC | |
|
Re: Error accessing MediaWiki API
by Anonymous Monk on Mar 27, 2009 at 20:58 UTC |