gpt4 book ai didi

perl - perl 生成的 POST 请求出错

转载 作者:行者123 更新时间:2023-12-04 05:09:15 25 4
gpt4 key购买 nike

我在尝试发送 POST 时遇到错误来自 perl 的请求脚本:

use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->credentials($netloc,$realm,$username,$password);
use HTTP::Request::Common;
my $req = HTTP::Request::Common::POST($url,'content' => $conf);
$req->as_string()
POST http:.....
Content-Length: 31003
Content-Type: application/x-www-form-urlencoded

.....&createTime=1361370652541&parameters=HASH(0x28fd658)&parameters=HASH(0x28fd670)&parameters=HASH(0x28fd6e8)&parameters=HASH(0x28fd760)&nodes=32&.....&alerts=HASH(0x632d00)&alerts=HASH(0x245abd0)&.....

我得到的错误是
Unexpected character ('H' (code 72)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')

这让我怀疑问题出在重复 parameters=HASH(...)alerts=HASH(...)元素;
相反,我想看到类似的东西
alerts=%5B%7B%22email%22%3A%22foo%40bar.com%22%2C%22type%22%3A%221%22%2C%22timeout%22%3A%22%22%7D%5D    
$conf是一个散列引用,而 $conf->{"parameters"} and
$conf->{"alerts"}` 是数组引用(其元素是散列
引用)。

我做错了什么?

最佳答案

您不能发布引用资料;您大概需要以某种方式序列化它们;服务器期待什么?

从错误看来,整个数组或其中的每个散列都应该在 JSON 中序列化:

use JSON;  # preferably have JSON::XS installed
my %prepared_conf = %$conf;
for my $field ( 'parameters', 'alerts' ) {
$prepared_conf{$field} =
JSON::to_json( $prepared_conf->{$field}, { 'ascii' => 1 } );
}
my $req = HTTP::Request::Common::POST($url,'content' => \%prepared_conf);

关于perl - perl 生成的 POST 请求出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15094113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com