Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何得到饼干?_Windows_Perl_Httpcookie - Fatal编程技术网

Windows 如何得到饼干?

Windows 如何得到饼干?,windows,perl,httpcookie,Windows,Perl,Httpcookie,使用WWW::Mechanize和HTTP::Cookies,如何从服务器的响应中提取过去的cookie #usr/bin/perl #MagicLogin.pl use warnings; use strict; use Win32::IE::Mechanize; use HTTP::Message; use WWW::Mechanize; use HTTP::Request::Form; use HTML::TreeBuilder 3.0; my $url = 'http://m

使用WWW::Mechanize和HTTP::Cookies,如何从服务器的响应中提取过去的cookie

#usr/bin/perl 
#MagicLogin.pl

use warnings;
use strict;

use Win32::IE::Mechanize;
use HTTP::Message;
use WWW::Mechanize;
use HTTP::Request::Form;
use HTML::TreeBuilder 3.0;



my $url = 'http://magic.dstcorp.net/MagicDST/';

my $mech = WWW::Mechanize->new(cookie_jar => {});
$mech->agent_alias('Windows IE 6');

my $cookie_jar = new HTTP::Cookies;


my $res = $mech->get($url);
my $tree = new HTML::TreeBuilder;
$tree->parse($res->content);
$tree->eof;

my @forms = $tree->find_by_tag_name('form') or die "No form available";

my $f = HTTP::Request::Form->new($forms[0], $url);
my @fields = $f->allfields;
my $name = $f->name;
my $links = $f->link;
my $buttons = $f->buttons;
my $referrer = $f->referer;

print "Name: ", $name, "\nLink: ", $links, "\nFields: ", @fields,"\nButtons: ", $buttons, "\nReferrer: ", $referrer;

my $response = $mech->request($f->press("ok"));
my $cookie = $cookie_jar->extract_cookies($response);
print $response->content if $response->is_success;

print "Succesfully got url" if $mech->success;

#my $headers = new HTTP::Headers;
#my $cookie = $headers->header('Cookie:');
#print "Cookie:", $headers->referer;

#$mech->get($url);
#my @forms = $mech->forms;


#my $content = $mech->content;
my $output_content = 'MagicLogin.html';


#open Write ,">$output_content";
#print Write $content;
输出:

名称:frmLoginEmbedded
在MagicLoginTest.pl line32打印时使用未初始化值$link。 链接:

字段: 按钮:0 在MagicLoginTest.pl第37行打印时使用未初始化值$referre


提前感谢您的帮助。

我使用以下代码片段访问cookie:

my $jar = HTTP::Cookies->new();
my $mech = WWW::Mechanize->new(cookie_jar => $jar);
$mech->get('http://www.example.com');
# $jar now contains any cookies set during the GET
print $jar->as_string(), "\n";

我使用以下代码段访问cookie:

my $jar = HTTP::Cookies->new();
my $mech = WWW::Mechanize->new(cookie_jar => $jar);
$mech->get('http://www.example.com');
# $jar now contains any cookies set during the GET
print $jar->as_string(), "\n";

Mechanize已经包含了一个。您不需要手动构建它

use Data::Dumper qw(Dumper);
use WWW::Mechanize qw();
my $m = WWW::Mechanize->new;
$m->get(…);
$m->cookie_jar; # returns a HTTP::Cookies object
# e.g.
print $m->cookie_jar->as_string;
$m->cookie_jar->scan(sub { print Dumper \@_; })

Mechanize已经包含了一个。您不需要手动构建它

use Data::Dumper qw(Dumper);
use WWW::Mechanize qw();
my $m = WWW::Mechanize->new;
$m->get(…);
$m->cookie_jar; # returns a HTTP::Cookies object
# e.g.
print $m->cookie_jar->as_string;
$m->cookie_jar->scan(sub { print Dumper \@_; })

我删去了第二个问题/不相关的问题。最好是这样做,请这样做。如果你不同意,你可以简单地撤消我的编辑。我删掉了第二个问题/不相关的问题。最好是这样做,请这样做。如果您不同意,您可以简单地撤消我的编辑。它会将参数转储到匿名回调。请参阅我已经链接到的文档中的方法
scan
。它将参数转储到匿名回调。请参阅我已经链接到的文档中的方法
scan