Guys, I have a slightly odd problem.
For the past few weeks I have written various scripts which access web sites (carrying monthly energy flow rates etc, since you ask), scrape the data into an array, and add them to a database.
Most of these are a simple application of WWW:Mechanize, sometimes with a little bit of JS which I need to reverse engineer.
I've just come to a tricky one. This one come from, of all places, Chile. Except that I have to translate from spanish is not especially relevant.
This particular form does something tricksy. Not its fault, but seems tricky to navigate past, which is why I need some help. The salient points are:
I've tried grabbing the values of the form and pasting them onto the end of the URL, but no, that produces a database error: I'm guessing there must be something in the asp code which can distinguish between a GET and a POST parameter. I suppose. Never heard of that before but what the hey.
For (I hope) obvious reasons, I can't choose to go to a different website. And the Chilean company isn't going to change their site...
The only thing I can think of to do, is to update the form element's action attribute. In theory I have the form object in:
%self->{mech}->forms[0]
..and I should be able to set this to a new value.. somehow. The code seems to imply it is a URI::_foreign. My first attempt hasn't worked (hey, I expect there's not even an updater method for the attribute at all). Anyway, this doesn't work:
$self->{mech}->form[0]->{action} = bless( do {(my $o = 'http://www.google.com;')}, 'URI::_foreign' );
Has anyone ever tried anything like this? Am I just insane? Advice, please.
Thanks in advance, Andy Holyer, Lewes, UK
In reply to Very obscure WWW:Mechanize problem by andyholyer
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |