http://www.perlmonks.org?node_id=417800


in reply to PerlMonks::Mechanized (beta)

Hi davido!

First I have to say thanks for your effort!
I really like this one.

Just double checked:
Your module works fine at home under Linux.
At work (ActiveState v5.8.4 build 810 under WinXP) I had to add a leading slash to the node_id's in your module I was experimenting with to fetch a page.
Without the leading slash WWW::Mechanize is reporting 'Bad Request'.

First I thought it was your update to v0.6, but now at home again I can see that v0.5 also didn't have the slash.

So what am I talking about:
e.g. changed "?node_id=207304" to "/?node_id=207304"

Compare:
http://www.perlmonks.org?node_id=207304
http://www.perlmonks.org/?node_id=207304

Although I didn't test it at work, I assume adding a trailing slash to the variable our $SITE instead of adding a leading slash before all node_id's should also do the trick. If the trailing slash in $SITE doesn't work under WinXP I will report tomorrow.

After adding the slash in your module, this works now for WinXP and for Linux, though I don't know why it is behaving like that. Is it the platform or the Perl version?
Firefox/Mozilla adds this slash automatically if it isn't provided, IE6 doesn't care:


Bye,
Dietz

P.S.: At work I use Corion's 'trick' (Re: Re: Re: WWW::Mechanize and proxy with username/password) to set our company's proxy server:

$ENV{HTTP_PROXY} = 'http://username:password@proxyserver:port';

This works like a charm.

Update: formatting

Replies are listed 'Best First'.
Re^2: PerlMonks::Mechanized (beta)
by davido (Cardinal) on Dec 29, 2004 at 02:43 UTC

    Thanks for your report. It's funny that the missing trailing '/' character wouldn't be a problem for me, and would for you. We're both hitting the same server. But regardless, it was a simple fix. I've annotated the fix among the update log in the root node for this thread.

    You may already have noticed this by reading the module's comments and code, but you can override the default site name (which is now set as "http://www.perlmonks.org/") by setting $ENV{PMSITE} prior to creating a PM::Mech object, or (of course) by setting the PMSITE environment variable. The hard coded site name now has a trailing slash to fix your reported problem. ...and likewise if using the PMSITE environment variable, remember to use that trailing slash. I may incorporate a check for that when I go through and do more to bullet proof this module in the near future.

    Glad you liked it. Aside from the positive rep, I haven't received many comments about it, so I don't know if anyone actually finds it useful. I'm nearly done rewriting the Janitors Thread Retitler to use this module, and it's made it a lot easier, so for me, it's been helpful.


    Dave