多部分/表单数据与 REST::Client in Perl.


如何使用 REST:

:Client 向 REST API 发送"多部分/表单数据"请求?有问题的 API 在这里,这个特定的请求是有问题的。对于其他发布请求,我可以简单地将数据作为 JSON 发送,使用

my $params = { api_key => $key, match_attachments => { url => "http://example.com" } };
$client->POST("/tournaments/$tid/matches/$mid/attachments.json", to_json($params), { "Content-Type" => "application/json" });

但是,由于这可能需要一个文件,因此我似乎必须使用"多部分/表单数据"作为内容类型。我已经尝试了很多事情,例如将数据作为JSON发送(它不会拾取api_key),使用REST::Client::buildQuery(它不会拾取"match_attachments"),以及发送哈希和arrayref,两者都让模块抱怨它需要一个标量引用。如何正确设置数据的格式,使其通过?文件的过程与纯文本 URL 的过程是否相同?

似乎 REST::Client 不支持 API 可能需要的 RFC2388(多部分/表单数据)中的内容。

将有两个不同的内容块 - 参数 JSON 和图像的编码二进制数据。

'curl' 命令可以使用 -F 选项执行此操作,因此您可能想先尝试一下。

有点晚了,但可能会将其作为功能请求提交:https://github.com/milescrawford/cpan-rest-client/

最新更新