【问题标题】:Curl POST call for server API which uploads a file上传文件的服务器 API 的 Curl POST 调用
【发布时间】:2017-02-03 19:32:41
【问题描述】:

我想将一系列 POSTMAN 调用转换为 bash 以创建脚本。到目前为止超级简单,我想用表单数据发布一个带有角色的 xlsx 文件。我使用这个脚本:

curl -i -X POST \
-H 'externalTenantId: 326c1027-bf20-4cd6-ac83-33581c50249b'  \
-H "uid: user" \
-H "Content-Type: multipart/form-data" \
-F 'payload={
      "importMode": "OVERWRITE",
      "tenantId": "326c1027-bf20-4cd6-ac83-33581c50249b",
      "file": "roles.xlsx"
    }' \  
-F 'file=@roles.xlsx' \
"http://server:8080/iamsvc/batchImport/v2/direct/roles"

这是有效的邮递员电话:

POST http://server:8080/iamsvc/batchImport/v2/direct/roles
Headers:
uid: user@domain.com
externalTenantId: 4cd6-ac83-33581c50249b-327522
Payload:
{
            "file": [Excel file to be uploaded],
            "importMode": "OVERWRITE",
            "tenantId": "4cd6-ac83-33581c50249b-327522"
}

这是我得到的错误:

HTTP/1.1 100 Continue

HTTP/1.1 400 Bad Request
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=0BA814182C258E1DFE62ACF98409F9CD; Path=/iamsvc/; 
Secure; HttpOnly
Content-Length: 0
Date: Mon, 26 Sep 2016 12:59:50 GMT
Connection: close

【问题讨论】:

  • 查看apache错误日志
  • 我更改了 curl 命令并重新编辑了错误,无论如何我无法访问该服务器上的 apache 日志。

标签: bash http curl


【解决方案1】:

答案在 curl --manual 中,它的工作原理如下:

curl -i -X POST -H "uid: user" -H "externalTenantId: 326c1027-bf20-4cd6-ac83-33581c50249b" -F "file=@/home/user/zscripts/iamapi/roles.xlsx" -F "importMode=OVERWRITE" -F "tenantId=326c1027-bf20-4cd6-ac83-33581c50249b" http://server:8080/iamsvc/batchImport/v2/direct/roles

【讨论】:

    猜你喜欢
    • 2013-12-14
    • 2015-12-15
    • 2013-11-19
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 2013-06-24
    相关资源
    最近更新 更多