Perl WWW::Mechanize(或 LWP)获取重定向 url

2023-11-26

所以我正在使用WWW::Mechanize抓取网站。它工作得很好,除非我请求一个 url,例如:

http://www.levi.com/

我被重定向到:

http://us.levi.com/home/index.jsp

对于我的脚本,我需要知道发生了此重定向以及我被重定向到的 url 是什么。有没有办法检测这个WWW::Mechanize or LWP然后获取重定向的url?谢谢!


use strict;
use warnings;
use URI;
use WWW::Mechanize;

my $url = 'http://...';
my $mech = WWW::Mechanize->new(autocheck => 0);
$mech->max_redirect(0);
$mech->get($url);

my $status = $mech->status();
if (($status >= 300) && ($status < 400)) {
  my $location = $mech->response()->header('Location');
  if (defined $location) {
    print "Redirected to $location\n";
    $mech->get(URI->new_abs($location, $mech->base()));
  }
}

如果状态码是3XX,那么您应该检查响应标头中的重定向 url。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Perl WWW::Mechanize(或 LWP)获取重定向 url 的相关文章

  • 在 FOR 循环中打印唯一值

    我有两个文件 myresult 和 annotation 两个文件中的数据似乎是范围 但事实并非如此 这就是为什么我无法将其存储在数组中 我需要使用拆分运算符 以便我可以在 for 循环中使用它并进行比较 现在我需要打印 i myresul
  • 如何轻松地将 Ajax、perl 和 JSON 结合使用?

    我正在尝试使用 Ajax 制作一个网页 Example 我创建了一个 Perl CGU 文件来触发一个简单的帖子 文件 test cgi name 托马斯 回复短信 你的名字是托马斯 我创建了一个可以使用该帖子的 html 文件 但随后页面
  • 如何从 HttpClient 获取最后一个 url?

    好的 我最近切换到 NET Framework 4 5 并开始使用 HttpClient 而不是 HttpWebRequest Response 我真的很喜欢异步 等待风格 但我不知道如何在 POST GET 请求后获取重定向的 url 通
  • 由于 lpcap,CPAN 安装 Net::Pcap 和 Packet 模块失败

    最近 我尝试通过 cpan 安装 perl 模块 Net Packet 和 Net Pcap 但它抱怨找不到 pcap 库 所以我正在搜索 cpan 在安装模块时是否接受外部 lib include 目录 但到目前为止还没有运气 looki
  • 有没有办法匹配任意 Unicode 字母字符?

    我有一些文档经过 OCR 从 PDF 转换为 HTML 因此 他们最终会出现很多随机的 unicode 标点符号 而转换器会搞砸 即省略号等 他们还正确地有一堆非英语但仍然是字母字符 如 和俄语字符等 有没有办法制作一个匹配任何 unico
  • Perl:HTTP::微小删除留下损坏的锚标记

    我编写了一个脚本 该脚本收集从数据库读取的缓冲区内的所有 URL 检查该页面是否仍然存在 并使用 HTTP Tiny 从缓冲区中删除 URL 如果该 URL 无法访问或返回无效 问题是 HTTP Tiny 删除左锚标记 例如此处无效的文本
  • 如何在附加的 sqlite 数据库中创建外键?

    我正在尝试创建一个 sqlite3 数据库作为模拟生产环境的测试环境 由于生产的设置方式 表处于多个模式中 我已经在 DBIx Class 中设置了类 使用 schema gt storage gt dbh do将数据库与架构附加在一起 并
  • 无法从日志文件中提取特定信息

    我这里有日志文件我想提取以下信息 想要提取十六进制值 如果该行有第二个括号 0 9 想要提取十进制值 首先转换为十六进制 然后提取 9 gt 0x09 想要提取负值 25 先转换为十六进制然后提取 例如 25 gt FFE7 gt 想要提取
  • 合并 url 中的 2 个输入值

    我有这样的形式
  • 使用 Cygwin 安装 CPAN GD 模块失败

    我已经尝试解决为什么 CPAN GD 模块无法使用 Cygwin 安装 2 天了 任何帮助深表感谢 谢谢 cpan install GD Going to read home xxxxxxxxxx cpan Metadata Databas
  • Text::平衡和多行 xml

    看来我有点失落了 我需要解析一个大的 大约 100 mb 且相当难看的 xml 文件 如果我使用parsefile 它返回错误 文档元素后的垃圾 但它会很乐意解析文件的较小元素 所以我决定将文件分解为元素并解析它们 由于不鼓励使用正则表达式
  • 将 window.location 传递给 Flask url_for

    我正在使用 python 在我的页面上 当匿名用户转到登录页面时 我想将一个变量传递到后端 以便它指示用户来自哪里 发送 URL 因此 当用户单击此锚链接时 a href Sign in a 我想发送用户当前所在页面的当前 URL
  • PHP 中的encodeURI() ?

    PHP 中是否有一些不编码的encodeURI 函数 我现在用这个 function encodeURI url http php net manual en function rawurlencode php https develope
  • 如何在点击android中的按钮时重定向到特定的URL?

    我想在点击时将用户重定向到特定的 URLButton在 Android 应用程序中 您可以启动 查看 活动 该活动将是给定 URL 的浏览器 public class HelloWorld extends Activity Override
  • 如何在 Dart 中以正确的方式重定向和重新加载?

    在 Dart 中进行重定向和重新加载的首选方法是什么 我们是否只使用 window location href window location href 有几种不同的方法可以处理 URI 更改 每种方法都有自己的用途 当您想要将用户发送到另
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在
  • 重定向而不是 404 错误页面 - 状态代码不起作用 (Nginx)

    我目前正在迁移到 nginx 服务器 我尝试将其放入名为的 404 ErrorDocument 中404 php 如果我现在尝试访问http mydomain com 404 php 这按预期工作 它将我重定向到 Google 但是一旦我尝
  • 如何彻底删除 Perl 中的包?

    如何在 Perl 中彻底删除一个包 这不仅意味着包变量 还意味着 Perl 更新以处理继承更改和其他事情的任何魔术表 这个简单的测试 use warnings use strict use Test LeakTrace use Symbol
  • Perl regex:如何知道匹配数

    我循环遍历一系列正则表达式并将其与文件中的行进行匹配 如下所示 for my regex regexs ref LINE for rawfile regex do do something here next LINE 有没有办法让我知道我
  • 由于缺少会话而在 Next.js 中使用 Next-Auth 进行重定向时,如何显示 Toast 通知? [复制]

    这个问题在这里已经有答案了 例如 假设我有一个名为internal tsx 的页面 其中包含 export const getServerSideProps GetServerSideProps async ctx gt const ses

随机推荐

  • 如何在uwp的xaml中拉伸/调整svgs的大小?

    自从创建者更新发布以来 uwp 可以使用 svg 图像 简要说明这里 第 3 分钟 I have this svg 48x48 并且我可以很好地使用它 如果 且仅当 我将图像的宽度和高度设置为 48 并将拉伸设置为无
  • jQuery(..).html() 在 jQuery 1.3.2 中有错误吗?

    这里的代码没有返回预期的结果 jQuery div Look here jQuery0 null div html 相反 你会得到 Look here 有问题的 jQuery 源代码 html function value return v
  • ELF文件格式如何定义堆栈?

    我正在研究 ELF 文件格式 因此我编译了一个小程序 从生成的可执行文件中转储了节标题及其内容 ELF 标头包含入口点地址 该地址指向 text 部分的开头 我还找到了包含静态数据的 data 部分和包含只读数据的 rodata 我希望也有
  • 从 cin 或文件读取

    当我尝试编译代码时 istream in if argc 1 in cin else ifstream ifn argv 1 in ifn gcc 失败 抱怨operator 是私人的 有什么办法可以设置istream根据条件不同的值 您可
  • 如何从文件中读取特定行(按行号)?

    我正在使用一个for循环读取文件 但我只想读取特定行 例如行 26 and 30 是否有任何内置功能可以实现此目的 如果要读取的文件很大 并且您不想一次读取内存中的整个文件 fp open file for i line in enumer
  • 适用于 Android 的 FFMPEG 工具链:arm-linux-armeabi-eabi-pkg-config - 是否存在包含 pkg-config 工具的工具链

    有谁知道任何工具链ffmpeg linux ARM平台包含arm linux androideabi pkg config tool Android NDK 不包含它 还有人成功为包含 alsa 设备的 android 构建 ffmpeg
  • exec 不会从闭包中获取变量

    我有点好奇为什么下面的代码会引发NameError gt gt gt s foo 1 2 3 def bar return foo 1 gt gt gt namespace gt gt gt exec s builtins None nam
  • Angular 2:了解 DOM 元素是否在视口内

    基本上我想用 input值标记一个dom元素 即 aos div my div 然后 例如 只要此类 div 在我的视口内 就执行控制台日志 如何才能实现这一目标 我假设使用 Angular 的滚动调度程序 但我如何理解这样的 div 位于
  • 如何使用递归获得数字列表的总和?

    我想用递归函数对数字求和 即 getSum 1 2 3 4 5 应该返回 1 2 3 4 5 15 我不是递归函数方面的专家 我尝试过类似的方法 def getSum piece for i in piece suc getSum i 问题
  • 如何仅为一个特殊路径添加过滤器 WebSecurityConfigurerAdapter

    我们有一个如下所示的配置 Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter public static final String L
  • 截断 d3 中的文本

    我想截断 d3 中超过预定义限制的文本 我不知道该怎么做 这是我现在所拥有的 node append text attr dx 20 attr dy 20em text function d if d rating gt 25 return
  • 在哪里可以找到 dict_keys 类?

    怎样才能直接获得参考资料dict keys班级 目前我能找到的唯一方法是创建一个临时 dict 对象并对其进行类型检查 gt gt gt the class type keys gt gt gt the class
  • 为什么 WPF 中不触发窗口的 Unloaded 事件?

    在我的 WPF 应用程序中 我创建了一个窗口 并通过调用 ShowDialog 方法将其显示为对话框 但是 当我通过 Close 方法关闭窗口时 不会为此对话框窗口触发 Unloaded 事件 MyWindow obj new MyWind
  • 如何修复 Windows 上的“无法编译依赖项:bcrypt_elixir”错误?

    我在 Windows 上 正在尝试安装 bcrypt elixir 模块 我收到以下错误 mix phx server gt bcrypt elixir could not compile dependency bcrypt elixir
  • R包中的MD5文件有什么用?它是如何生成的?

    我注意到我下载的许多 R 包的目录中都存在一个名为 MD5 的文件 但是我在 Writing R Extensions 手册中找不到对此的提及 它列出了包中不同文件的 MD5 哈希值和文件名 这个文件是用来做什么的 它应该包含在我的包裹中吗
  • 全屏背景视频并使其居中

    我正在尝试创建一个网站 其中有一个使用 HTML5 播放的背景视频 这一切都很完美 它按照我想要的方式工作 但我也希望将图像保持在屏幕中央 即使用户调整浏览器大小也是如此
  • 我们可以对 MVC 的视图(“V”)进行单元测试吗?

    复制 对视图进行单元测试 有没有办法对 View 进行单元测试 我确信我们可以测试模型和控制器 但不知道如何对视图进行单元测试 View 值得测试吗 你可以启用 MVC 视图的编译 这很有帮助 否则我认为不值得 毕竟 您只对两件事感兴趣 视
  • 计算函数签名中的位置参数

    我有以下函数签名 my signature def myfunction x s c None d None some irrelevant function body 我需要位置参数的数量 如何返回位置参数 x s 的数量 2 关键字参数
  • 检测程序终止(C、Windows)

    我有一个程序必须在完成之前执行某些任务 问题是有时程序会因异常而崩溃 例如无法访问数据库等 现在 有什么方法可以检测异常终止并在异常终止之前执行一些代码吗 Thanks 代码表示赞赏 1 Win32 Win32 API 包含一种通过以下方式
  • Perl WWW::Mechanize(或 LWP)获取重定向 url

    所以我正在使用WWW Mechanize抓取网站 它工作得很好 除非我请求一个 url 例如 http www levi com 我被重定向到 http us levi com home index jsp 对于我的脚本 我需要知道发生了此