perl lwp表单post

perl lwp表单post,perl,cgi,lwp,Perl,Cgi,Lwp,我正在尝试使用LWP将一些内容发布到托管服务,对此我没有控制权,即我必须符合他们的标准 基本上,内容必须在类似以下内容的帖子中进行检查: POST / HTTP/1.1 Accept:*/* Content-Type: text/xml [various other headers] <?xml version="1.0" encoding="UTF-8"?> <xmlContent>here</xmlContent> POST/HTTP/1.1 接受:*

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

基本上,内容必须在类似以下内容的帖子中进行检查:

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

<?xml version="1.0" encoding="UTF-8"?>
<xmlContent>here</xmlContent>
POST/HTTP/1.1
接受:*/*
内容类型:text/xml
[各种其他标题]
在这里
我正在查看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
$response=$browser->post($url,
['form'=>'foobarbaz'],
“内容类型”=>“文本/xml”,
'headerkey2'=>'hvalue2',
);
因此,我的数据如下所示:

$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=我认为您不需要表单:

  $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
$req=HTTP::Request->new(POST=>$url);
$req->header(“内容类型”=>“文本/xml”);

$req->content(好吧,那太棒了。起初我不太明白,但后来我把二和二放在一起,并在下面添加了一行:$responseContent=$browser->request($req)->as_string;…其中$browser是一个LWP::UserAgent对象,bada bing,它起作用了。Muchas gracias!希望我有足够的业力投票支持你的答案!