0

我正在尝试使用 LWP 将一些内容发布到托管服务,对此我无法控制,即我必须符合他们的标准。

基本上,内容必须在看起来类似于以下内容的帖子中进行:

POST / HTTP/1.1
Accept:*/*
Content-Type: text/xml
[various other headers]

<?xml version="1.0" encoding="UTF-8"?>
<xmlContent>here</xmlContent>

我正在查看 LWP 文档,其示例如下所示:

$response = $browser->post( $url,
   ['form' => '<?xml version="1.0" encoding="UTF-8"?><content>foobarbaz</content>'],
   'Content_Type' => 'text/xml', 
   'headerkey2' => 'hvalue2', 
 );

所以相反,我的数据是这样的:

[headers]

form=<?xml blah blah blah

我不想要那里的“form =”。

我已经尝试了一些解决方法,但我最终没有发送任何内容,或者最后有一个额外的“=”符号。看起来这应该很容易......有什么方法可以让我的内容作为帖子的正文而没有变量名?

除了使用 LWP 之外,我也愿意做其他事情,这只是我的出发点,因为我以前使用过它。

谢谢!

4

1 回答 1

1

我认为您不需要表格:

  $req = HTTP::Request->new(POST => $url);
  $req->header("Content-Type" => "text/xml");
  $req->content(<<EOT);
  <?xml version="1.0" encoding="UTF-8"?>
  <xmlContent>here</xmlContent>
  EOT
于 2012-09-19T04:49:39.987 回答