perl - 在 Perl 中使用 REST::Client 的多部分/表单数据

标签 perl rest http multipartform-data

如何使用 REST::Client 向 REST API 发送“multipart/form-data”请求?有问题的 API 是 here , 与 this特殊要求是有问题的。对于其他发布请求,我可以简单地将数据作为 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" });

但是,由于这可能需要一个文件,看来我必须使用“multipart/form-data”作为内容类型。我尝试了很多方法,例如以 JSON 格式发送数据(不获取 api_key),使用 REST::Client::buildQuery(不获取“match_attachments”),以及发送哈希和arrayrefs,两者都有模块提示它需要一个标量引用。如何正确格式化数据以使其通过?文件作为明文 url 的过程是否相同?

最佳答案

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

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

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

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

关于perl - 在 Perl 中使用 REST::Client 的多部分/表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29687351/

相关文章:

perl - 使用 OLE 和 Perl 保存在 Internet Explorer 中打开的 pdf 文件

http - websocket 消息总是会一次全部到达吗?

javascript - 对预检请求的响应未通过访问控制检查

delphi - 使用 TIdHttp 逐步下载文件

linux - 将 cURL POST 转换为 Perl POST

regex - Perl正则表达式匹配元音

arrays - 使用 perl 将数组的数组传递给子例程

json - Django : DRF Token based Authentication VS JSON Web Token

java - 将@PathParam 传递给 Jersey 中的子资源定位器类

perl - 从 teamcity 构建中获取工件列表并仅下载确切的一个