gpt4 book ai didi

perl - 将 IE Cookie 加载到 Perl 的 WWW::Mechanize 中

转载 作者:行者123 更新时间:2023-12-02 13:34:48 24 4
gpt4 key购买 nike

我正在经历这个……

我正在尝试连接到需要登录的网站。显然我可以直接进入该页面而无需登录,因为 IE 有一个 cookie 可以这样做。

我正在编写一个将由我以外的人运行的脚本,因此我不想发送包含我的登录信息的文件。理想情况下,其他人也不必输入该信息。

这是代码的一小部分相关部分。我只想从 IE 加载 cookie 并打印它们(因为我假设它们一旦进入其中,就会被正确访问)。

我已经搜索了几个小时,甚至读到人们声称这会加载 cookie。我看到它现在能够存储 cookie,但无法加载我计算机上的现有 cookie。

#!/usr/bin/perl -w
use strict;
use WWW::Mechanize;
use HTTP::Cookies::Microsoft;
use Win32::TieRegistry(Delimiter => "/");

my $cookies_dir = $Registry-> {"CUser/Software/Microsoft/Windows/CurrentVersion/Explorer/Shell Folders/Cookies"};
my $cookie_jar = HTTP::Cookies::Microsoft->new(file => "$cookies_dir\\index.dat",'delayload'=>0,);
my $mech = WWW::Mechanize->new(cookie_jar => $cookie_jar);
print "Set Cookie Jar?\n", $cookie_jar->as_string, "\n";
print "Set Cookie Jar?\n", $mech->cookie_jar->as_string, "\n";

我可以加载现有的cookie吗?

HTTP::Cookies::Microsoft不兼容IE9? (网站列出了 IE6 和 IE7,但自 2002 年以来就没有更新过)。

我什至没有看到在这个例子或任何例子中它实际加载现有cookie的位置。如果只是兼容性问题,IE9有哪些选择呢? (我必须坚持使用IE9,因为它是该公司支持的浏览器)

谢谢!

最佳答案

在我的 Windows XP 系统上使用 IE8,cookie 位于 C:\Documents and Settings\userid\Local Settings\Temporary Internet Files 中。没有 index.dat,cookie 位于它们自己的文件中。

我不知道where IE9 stores cookies .

但是,如果您尝试在用户通过 IE 登录的网站上实现某些操作自动化并启动您的程序,则可以使用 Win32::IE::Mechanize或通过 Win32::OLE 驱动 IE 。例如,请参阅我的博客文章 Using Win32::OLE with events to capture Internet Explorer screenshots with Perl 。有关可用方法、属性和事件的信息,请参阅 InternetExplorer object documentation .

关于perl - 将 IE Cookie 加载到 Perl 的 WWW::Mechanize 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11674711/

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