【问题标题】:User authentication using POE::Component::Client::HTTP使用 POE::Component::Client::HTTP 进行用户认证
【发布时间】:2016-01-05 08:42:28
【问题描述】:

我正在尝试在 perl poe 中找到一个模块,它可以在制作 HTTP request 时进行用户身份验证。

HTTP 请求应该是非阻塞的

我应该如何使用poe::component::client:http通过提供用户名、密码详细信息来进行用户身份验证?

【问题讨论】:

标签: perl asynchronous cpan poe


【解决方案1】:

您可以将HTTP::Request 对象传递给POE::Component::Client::HTTP。 Basic Auth用header解决,可以作为header发送:

 use strict;
 use warnings;
 use MIME::Base64;
 use HTTP::Request;

 my $username = 'username';
 my $password = 'password';
 my $auth = 'Basic ' . MIME::Base64::encode($username . ':' . $password);

 my $request = HTTP::Request->new(GET => 'http://www.example/',
    [Authorization => $auth]);

然后将$request 传递给$poe_kernel->post,如文档中所述。

【讨论】:

  • 我喜欢和 lwp 代理一样的认证,包括主机端口地址、领域字符串、用户名和密码。
  • @user3540276:是的。然后你需要找到一个可以做到这一点的组件,或者自己实现它。
  • 我希望将摘要身份验证系统注入我的请求标头中
  • 有没有办法让我可以在 poe::component::client:http 中注入 lwp 代理
  • 没有。使用 LWP::UserAgent 没有简单的方法。您可以查看metacpan.org/source/ETHER/libwww-perl-6.15/lib/LWP/Authen/… 以了解 LWP 如何实现 Digest。
猜你喜欢
  • 1970-01-01
  • 2020-04-25
  • 2011-04-19
  • 1970-01-01
  • 2021-09-01
  • 2012-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多