用于调用具有基本身份验证和多部分文件上传的 POST 请求的 curl 命令
Curl command for invoking a POST request with basic authentication and multipart file upload
我正在使用 curl 命令调用以下服务:
@RequestMapping(value = "/api/uploadFile", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<String>> uploadFile(@RequestParam("file") MultipartFile multipartFile, @RequestHeader("Authorization") String authCredentials) {...}
它使用基本身份验证,需要将文件上传为多部分文件。
如何使用 curl 命令调用它?
我正在尝试此操作,但收到一条错误消息,指出非法 base64 字符:
curl -i -H 'Authorization:Basic username:password' -H 'Accept:application/json' -F 'file=@./application.properties' http://hostname/api/uploadFile/
错误:
java.lang.IllegalArgumentException: Illegal base64 character 3a
at java.util.Base64$Decoder.decode0(Base64.java:714) ~[na:1.8.0_121]
at java.util.Base64$Decoder.decode(Base64.java:526) ~[na:1.8.0_121]
at java.util.Base64$Decoder.decode(Base64.java:549) ~[na:1.8.0_121]
Authorization:
header错了
让 curl 将用户名和密码转换为 HTTP 身份验证 header 而不是 -u:
curl -i -u 'username:password' -H 'Accept:application/json' -F 'file=@./application.properties' http://hostname/api/uploadFile/
我正在使用 curl 命令调用以下服务:
@RequestMapping(value = "/api/uploadFile", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<String>> uploadFile(@RequestParam("file") MultipartFile multipartFile, @RequestHeader("Authorization") String authCredentials) {...}
它使用基本身份验证,需要将文件上传为多部分文件。
如何使用 curl 命令调用它?
我正在尝试此操作,但收到一条错误消息,指出非法 base64 字符:
curl -i -H 'Authorization:Basic username:password' -H 'Accept:application/json' -F 'file=@./application.properties' http://hostname/api/uploadFile/
错误:
java.lang.IllegalArgumentException: Illegal base64 character 3a
at java.util.Base64$Decoder.decode0(Base64.java:714) ~[na:1.8.0_121]
at java.util.Base64$Decoder.decode(Base64.java:526) ~[na:1.8.0_121]
at java.util.Base64$Decoder.decode(Base64.java:549) ~[na:1.8.0_121]
Authorization:
header错了
让 curl 将用户名和密码转换为 HTTP 身份验证 header 而不是 -u:
curl -i -u 'username:password' -H 'Accept:application/json' -F 'file=@./application.properties' http://hostname/api/uploadFile/