Enk*_*idu 2 arrays perl http-post httprequest
我需要加入2个perl数组/列表(抱歉,不知道它们是如何正确命名的)格式
[ a=>1, b=>2, c=>3 ] and [ d=>4, e=>5, f=6 ]
Run Code Online (Sandbox Code Playgroud)
并需要加入他们
[ a=>1, b=>2, c=>3, d=>4, e=>5, f=6 ]
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我之前从未使用过这样的列表......
我需要HTTP :: Request :: Common
$ua->request(POST 'http://somewhere/foo', [foo => bar, bar => foo]);
Run Code Online (Sandbox Code Playgroud)
因为每个请求都有一组标准参数,另外还有自定义参数,具体取决于请求.当然,我不希望在每个请求中编写相同的内容,而只是定义公共参数一次.
Tnx为你提供帮助,罗伯特
这是aprox.我想做的事:
my $result = httpPOST( $url, [ a=>1, b=2, ... ] );
sub httpPOST {
my( $url, $params ) = @_; # ???
my $ua = LWP::UserAgent->new;
my $result = $ua->request( POST $url, [ %auth, ????? ] );
return $result->content;
}
Run Code Online (Sandbox Code Playgroud)
嗯......我没有得到合适的语法.请你帮助我一次!?;)
[ ... ]
Run Code Online (Sandbox Code Playgroud)
类似于
do { my @anon = ( ... ); \@anon }
Run Code Online (Sandbox Code Playgroud)
你有一个hash(%auth)和一个数组($params)的引用.
%hash 获取哈希的元素作为键和值的列表.
@array获取数组的元素,这意味着@$ref获取引用数组的元素.
所有你需要的是
[ %auth, @$params ]
Run Code Online (Sandbox Code Playgroud)
请注意,您永远不应该使用->content.请->decoded_content改用.因此,您应该使用以下代码:
my $response = $ua->request( POST $url, [ %auth, @$params ] );
return $response->decoded_content( charset => 'none' );
Run Code Online (Sandbox Code Playgroud)
(charset => 'none'解决破坏XML响应的错误.)
| 归档时间: |
|
| 查看次数: |
209 次 |
| 最近记录: |