【问题标题】:Perl HTTP POST request with Content type and Authorization token带有内容类型和授权令牌的 Perl HTTP POST 请求
【发布时间】:2014-02-28 18:26:23
【问题描述】:

我需要发送带有以下 HTTP 标头的 HTTP POST 请求:

Content-type: 'application/atom+xml'
Authorization: MyLogin auth=$token

令牌来自授权子例程。这是子例程成功后发出实际请求的 Perl:

my  $ua = LWP::UserAgent->new;
my  $req = $ua->post ( $url );
    $req = header('Content-type' => 'application/atom+xml');
    $req = header('Authorization' => "MyLogin auth=$token");

但是,我在运行时收到以下错误:

Undefined subroutine &main::header called ...

我怎样才能做到这一点?

【问题讨论】:

    标签: perl http-headers http-post content-type lwp-useragent


    【解决方案1】:

    根据LWP::UserAgent documentation,您可以通过将它们作为参数传递给post来设置额外的标头:

    my $ua = LWP::UserAgent->new;
    my $response = $ua->post($url,
        'Content-type' => 'application/atom+xml',
        'Authorization' => "MyLogin auth=$token"
    );
    

    请注意,$ua->post 实际上发送了请求,因此尝试在调用它之后设置标头,就像您在示例代码中所做的那样,是没有用的。 (更不用说 main 命名空间中没有 header 函数,除非您从某个地方导入它或自己编写它。)

    【讨论】:

      猜你喜欢
      • 2017-12-26
      • 2015-02-18
      • 2015-11-27
      • 1970-01-01
      • 2020-06-24
      • 1970-01-01
      • 2015-03-08
      • 2019-08-07
      • 2015-02-13
      相关资源
      最近更新 更多