我正在使用在以下 URL 上公开 RESTful API 的 Java 服务器:
http://localhost:8080/my-server/
文档推荐curl
用于提交简单PUT
请求(文件上传),并强烈建议用户使用与示例中提供的完全相同的参数。所有示例如下所示:
curl -X PUT -f -u admin:password --data-binary @/absolute/path/file/to/upload/file.ext "http://localhost:8080/my-server/file.ext"
此服务器不能与 FTP 或任何其他正常传输协议一起使用。
我在 SO 上找到了这个问题,其中回答者建议使用java.net.URL
及其伴侣java.net.URLConnection
,而不是尝试使用 curl/libcurl。
我以前从来没有运行过curl
命令,所以我问任何知道 curl 和 Java 的人是否可以使用 URL/URLConnection(或任何其他 Java 框架)而不是 curl 来解决我的具体问题。如果没有,那么我将不得不编写一个从本地命令行/终端执行命令的curl
组件,然后在该组件内执行上述命令,这感觉很丑/讨厌。
如果我可以在 Java 网络 API 中完成同样的事情,我更愿意这样做。
而且,如果它可以在 Java 中完成,我将如何使用 URL/URLConnection 来设置与我提供的示例完全相同的命令参数?具体来说:
-X
PUT
-f
-u admin:password
--data-binary
-@absolute/path/...
在此先感谢您的任何见解或朝着正确的方向轻推!