如何使用 Perl 的 LWP::Simple 发送 cookie?

发布于 2024-09-26 18:26:33 字数 382 浏览 2 评论 0原文

use LWP::Simple;
use HTML::LinkExtor;
use Data::Dumper;
#my $url = shift @ARGV;
my $content = get('example.com?GET=whateverIwant');
my $parser = HTML::LinkExtor->new(); #create LinkExtor object with no callbacks
$parser->parse($content); #parse content

现在,如果我想发送 POST 和 COOKIE 信息以及 HTTP 标头,如何使用 get 函数进行配置?或者我必须定制自己的方法?

我的主要兴趣是饼干!然后发帖!

use LWP::Simple;
use HTML::LinkExtor;
use Data::Dumper;
#my $url = shift @ARGV;
my $content = get('example.com?GET=whateverIwant');
my $parser = HTML::LinkExtor->new(); #create LinkExtor object with no callbacks
$parser->parse($content); #parse content

now if I want to send POST and COOKIE info as well with the HTTP header how can I configure that with the get funciton? or do I have to customize my own method?

My main interest is Cookies! then Post!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陪我终i 2024-10-03 18:26:33

LWP::Simple 适用于非常简单的 HTTP GET 请求。如果您需要执行任何更复杂的操作(例如 cookie),则必须升级到完整的 LWP ::用户代理cookie_jar 是一个 HTTP::Cookies 对象,你可以使用它的set_cookie方法来添加cookie。

use LWP::UserAgent;

my $ua = LWP::UserAgent->new(cookie_jar => {}); # create an empty cookie jar

$ua->cookie_jar->set_cookie(...);

my $rsp = $ua->get('example.com?GET=whateverIwant');
die $rsp->status_line unless $rsp->is_success;
my $content = $rsp->decoded_content;
...

LWP::UserAgent 还有一个 post 方法。

LWP::Simple is for very simple HTTP GET requests. If you need to do anything more complex (like cookies), you have to upgrade to a full LWP::UserAgent. The cookie_jar is a HTTP::Cookies object, and you can use its set_cookie method to add a cookie.

use LWP::UserAgent;

my $ua = LWP::UserAgent->new(cookie_jar => {}); # create an empty cookie jar

$ua->cookie_jar->set_cookie(...);

my $rsp = $ua->get('example.com?GET=whateverIwant');
die $rsp->status_line unless $rsp->is_success;
my $content = $rsp->decoded_content;
...

The LWP::UserAgent also has a post method.

青衫负雪 2024-10-03 18:26:33

您可能想使用 WWW::Mechanize 代替。它已经将您想要的大部分内容粘合在一起:

 use WWW::Mechanize;
 
 my $mech = WWW::Mechanize->new;

 $mech->cookie_jar->set_cookie(...);

 $mech->get( ... );

 my @links = $mech->links;

You might want to use WWW::Mechanize instead. It already glues together most of the stuff that you want:

 use WWW::Mechanize;
 
 my $mech = WWW::Mechanize->new;

 $mech->cookie_jar->set_cookie(...);

 $mech->get( ... );

 my @links = $mech->links;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文