【问题标题】:Sending XML Request Tag in LWP::UserAgent在 LWP::UserAgent 中发送 XML 请求标签
【发布时间】:2017-02-10 22:26:05
【问题描述】:

我有一个使用LWP::UserAgent 的程序。我们也有如下定义的内容:

content => "columns[]=id&columns[]=..."

要调用这个 POST 方法,我还需要传入一个参数

<request>getThisInfo</request>

我怎样才能做到这一点?我应该在哪里设置此请求信息? AFAIK,这不能在标题中。

这就是它在 SOAP UI 中的样子。

【问题讨论】:

  • 这与 XML 有什么关系?你有你正在与之交谈的 API 的描述吗?
  • 参数为xml格式。它是一个 REST API。
  • 我可以使用header来添加这个请求参数吗?
  • 要回答,我们需要更多细节。但是对于如何发布一些 XML 的示例,这可能是有用的:stackoverflow.com/questions/29009370/assembling-xml-in-perl
  • 请看我添加的图片。它显示了它应该如何使用 SOAP UI 工作。我想用 Perl 来达到同样的效果。

标签: xml perl


【解决方案1】:

在您的屏幕截图中,这个类似 XML 的字符串位于请求正文中。只需按照显示参数的方式将其放在那里即可。

use strict;
use warnings;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
my $res = $ua->post( $url, content => '<request>getThisInfo</request>');

您可能需要为请求设置不同的 Content-Type 标头。此外,现在您显示在正文中的查询参数已经消失。但是在您的屏幕截图中,它们也不存在。您需要决定自己想要什么,并参考 API 文档或询问提供 API 的人员。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-09
    • 2011-03-05
    • 2023-03-16
    • 2010-09-09
    • 1970-01-01
    • 2011-06-27
    • 2011-09-24
    • 1970-01-01
    相关资源
    最近更新 更多