http://xml.pangora.com/scripts/Redirect.php?fid=45&mid=1066&serviceName=idealo-de&serviceType=portal&oid=1066de515358&sid=73&pt=idealo-de.export.1-0&url=http%3A%2F%2Fwww.baur.de%2Fis-bin%2FINTERSHOP.enfinity%2FWFS%2FBaur-BaurDe-Site%2Fde_DE%2F-%2FEUR%2FBV_ExternalCall-Start%3FArticleNo%3D515358%26NUMSArt%3D4443504%26NUMSArtPc%3D4488615%26AffiliateID%3Dpangora-%2A%26Name%3Dpangora-produktdaten-baur%26ActionID%3Dpreis-produkt-suche-baur%26WKZ%3D79%26IWL%3D101
####
use strict;
use warnings;
use WWW::Mechanize;
my $url = 'http://xml.pangora.com/scripts/Redirect.php?fid=45&mid=1066&serviceName=idealo-de&serviceType=portal&oid=1066de515358&sid=73&pt=idealo-de.export.1-0&url=http%3A%2F%2Fwww.baur.de%2Fis-bin%2FINTERSHOP.enfinity%2FWFS%2FBaur-BaurDe-Site%2Fde_DE%2F-%2FEUR%2FBV_ExternalCall-Start%3FArticleNo%3D515358%26NUMSArt%3D4443504%26NUMSArtPc%3D4488615%26AffiliateID%3Dpangora-%2A%26Name%3Dpangora-produktdaten-baur%26ActionID%3Dpreis-produkt-suche-baur%26WKZ%3D79%26IWL%3D101';
my $price = '249,9';
my $mech = WWW::Mechanize->new();
my $response = $mech->get( $url );
my $html = $mech->content;
print "price: $price\n";
print "url: $url\n";
print "html: $html\n";
print "ok" if $html =~ $price;
##
##
use strict;
use warnings;
use WWW::Mechanize;
use Data::Dumper;
my $url = 'http://xml.pangora.com/scripts/Redirect.php?fid=45&mid=1066&serviceName=idealo-de&serviceType=portal&oid=1066de515358&sid=73&pt=idealo-de.export.1-0&url=http%3A%2F%2Fwww.baur.de%2Fis-bin%2FINTERSHOP.enfinity%2FWFS%2FBaur-BaurDe-Site%2Fde_DE%2F-%2FEUR%2FBV_ExternalCall-Start%3FArticleNo%3D515358%26NUMSArt%3D4443504%26NUMSArtPc%3D4488615%26AffiliateID%3Dpangora-%2A%26Name%3Dpangora-produktdaten-baur%26ActionID%3Dpreis-produkt-suche-baur%26WKZ%3D79%26IWL%3D101';
my $price = '249,9';
print "price: $price\n";
my $redirect_url = redirect_url($url);
my $redirect_url_expected = 'http://www.baur.de/is-bin/INTERSHOP.enfinity/WFS/Baur-BaurDe-Site/de_DE/-/EUR/BV_ExternalCall-Start?ArticleNo=515358&NUMSArt=4443504&NUMSArtPc=4488615&AffiliateID=pangora-bd&Name=pangora-produktdaten-baur&ActionID=preis-produkt-suche-baur&WKZ=79&IWL=101';
die "oops" unless $redirect_url eq $redirect_url_expected;
my $mech = WWW::Mechanize->new();
$mech->agent('Firefox');
$mech->get( $redirect_url );
my $html = $mech->content;
print "html from $redirect_url doesn't match $price\n" unless $html =~ /$price/ ;
print "but paste into browser and view source, and it does\n";
print "final url after firefox redirect (but not www::mech redirect) is something like " . 'http://www.baur.de/is-bin/INTERSHOP.enfinity/WFS/Baur-BaurDe-Site/de_DE/-/EUR/BV_DisplayProductInformation-ArticleNo;sid=7oVhaTsE5oZsaX6rnON4q25Uv6S6Ixu_PzIwW50ajEGxS04TwoV1a_bGFYiItw==?ArticleNo=515358&ls=0&firstPage=true&showGewinnspiel=true&showW3B=false' . "\n";
# uncomment this to print html, which is totally different from what you get from firefox, show source.
# print "html: $html";
# works ok
sub redirect_url {
my $url = shift or die "no url";
my $mech = WWW::Mechanize->new();
$mech->get( $url );
my $links;
$links = $mech->links;
$mech->get( $links->[1]->url );
$links = $mech->links;
my $redirect_url = $links->[0]->base->as_string;
}