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

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.