per*_*ser 2 perl redirect mechanize lwp-useragent
我一直在尝试使用perl Mechanize(WWW :: Mechanize)从http响应中获取301/302重定向位置,但是在使用诸如response-> header之类的东西从响应中提取它时遇到了问题.
任何人都可以帮助从使用301或302重定向的网站的http响应中提取重定向位置吗?
我知道我想要做什么,以及如果我有这个重定向位置URL怎么做,因为我之前使用Mechanize完成了更复杂的事情,但我只是遇到了从获取位置(或任何其他响应字段)的真正问题http响应.
非常感谢您的帮助,非常感谢,CM
WWW :: Mechanize应该自动遵循重定向(除非你告诉它不要通过 requests_redirectable),所以你不需要做任何事情.
编辑:只是为了证明:
DB<4> $mech = WWW::Mechanize->new;
DB<5> $mech->get('http://www.preshweb.co.uk/linkedin');
DB<6> x $mech->uri;
0 URI::http=SCALAR(0x903f990)
-> 'http://www.linkedin.com/in/bigpresh'
Run Code Online (Sandbox Code Playgroud)
......正如您所看到的,WWW :: Mechanize遵循重定向,并自动结束了目的地.
根据要求更新了另一个示例:
DB<15> $mech = WWW::Mechanize->new;
DB<16> $mech->get('http://jjbsports.com/');
DB<17> x $mech->uri;
0 URI::http=SCALAR(0x90988f0)
-> 'http://www.jjbsports.com/'
DB<18> x substr $mech->content, 0, 40;
0 '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML'
DB<19> x $mech->title;
0 'JJB Sports | Trainers, Clothing, Football Kits, Football Boots, Running'
Run Code Online (Sandbox Code Playgroud)
如您所见,它遵循重定向,并$mech->content返回页面的内容.这些帮助有用?