当前位置: 首页 > 知识库问答 >
问题:

多部分/表单数据与 REST::客户端在 Perl 中

桑成荫
2023-03-14

如何使用 REST::客户端向 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" });

然而,因为这可能需要一个文件,所以我似乎必须使用“multipart/form-data”作为Content-Type。我已经尝试了很多方法,例如以JSON格式发送数据(它不会拾取api_key),使用REST::Client::buildQuery(它不会提取“match_attachments”),发送哈希和arrayrefs,这两种方法都让模块抱怨它需要标量引用。我如何正确格式化数据,以便它能够通过?文件与明文url的处理过程相同吗?

共有1个答案

司马辉
2023-03-14

REST::Client似乎不支持API可能需要的RFC2388(multipart/formdata)中的内容。

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

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

有点晚了,但也许可以作为专题请求提交:https://github.com/milescrawford/cpan-rest-client/

 类似资料:
  • 我正在使用Perl的REST::Client发出多部分POST请求: REST API 如下所示: 当我运行脚本时,出现以下错误: 解析多部分servlet请求失败;嵌套异常java.io.IOException:org.apache.tomcat.util.http.fileupload.FileUploadException:请求被拒绝,因为没有找到多部分边界] 我是perl新手,语法或其他方

  • 我正在使用Spring boot和AWS elasticsearch服务。AWS Elasticsearch服务,仅提供REST接口。 Elasticsearch Rest客户端在这里。 简单地说,是否可以将REST客户端与Spring Data Elasticsearch一起使用? 换句话说,Spring Data Elasticsearch是否与Elasticsearch Rest客户端配合使

  • 我想上传一个图像到文件系统。所以我用spring-boot上传多部分文件。我还使用Advance Rest Client(Chrome)工具来Multi-part文件。但即使我没有指定任何内容类型org.apache.tomcat.util.http.fileupload,我也面临一个错误。FileUploadException:请求被拒绝,因为找不到多部分边界。 这是我的Rest控制器代码, 屏

  • 如何使用ajax或XMLHttpRequest从javascript调用RESTAPI,以使用内容类型:multipart/form data上载文件。 文件内容是二进制格式的,但我调用的API具有以下请求格式:Authorization:Bearer 我使用以下代码段上传文件内容: 其中formData是二进制格式的文件内容。请建议这是正确的方法还是应该以不同的方式处理。我使用的文件类型是IFC

  • 我有一个NodeJs/React应用程序。用例是上传一个文件,让第三方API扫描它,然后如果成功保存相同的文件。在扫描完成之前,我们无法保存文件。 我们正在使用fetch方法从react以多部分formdata的形式上载该文件。一旦在节点中接收到文件。js访问文件并检查文件大小和类型,我们使用multer如下。 现在scanapi希望我们也将文件作为多部分表单数据发送。在此场景中,如何使用req中

  • 我注意到Rest客户端上有两个指南:MicroProfile和Vertx。既然微文件支持异步,那么使用基于Vertx的Rest客户端有什么好处?