gpt4 book ai didi

perl - 如何让 WWW::Mechanize 正确处理带有 URI 片段的 302 重定向?

转载 作者:行者123 更新时间:2023-12-04 16:20:09 26 4
gpt4 key购买 nike

我有一个网页,它以 http://www.example.com/url.html#midpage 的形式重定向到另一个网址。 .

我想知道是否还有 WWW::Mechanize关注 http://www.example.com/url.html而不是 http://www.example.com/url.html#midpage ?

最佳答案

WWW::Mechanize 子类 LWP::UserAgent ,因此您仍然可以使用 LWP::UserAgent 中的任何一个的方法。因此您可以使用 simple_request()方法,它不会自动处理重定向。它只是将响应作为 HTTP::Resonse 返回给您目的。这意味着您可以使用 is_redirect()header()获取重定向 URI 的方法。这意味着您可以使用 URI 模块以取消 # 之后的所有内容。

哇!

你的代码看起来像这样:

my $response = $mech->simple_request( HTTP::Request->new(GET => 'http://www.example.com/') );
if( $response->is_redirect ) {
my $location = $response->header( "Location" );
my $uri = new URI( $location );
my $new_url = $uri->scheme . $uri->opaque;
# And here is where you do the load of the new URL.
}

可能有一些事情要做,可能在 header() 附近。行,但这将是总体思路。

关于perl - 如何让 WWW::Mechanize 正确处理带有 URI 片段的 302 重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3893984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com