【发布时间】:2011-10-10 13:08:53
【问题描述】:
以下 curl 命令在 java 中的等价物是什么:
curl -X POST -F "file=@$File_PATH"
我想使用 Java 执行的请求是:
curl -X POST -F 'file=@file_path' http://localhost/files/
我在尝试:
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(_URL);
File file = new File(PATH);
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file, "bin");
mpEntity.addPart("userfile", cbFile);
httpPost.setEntity(mpEntity);
HttpResponse response = httpClient.execute(httpPost);
InputStream instream = response.getEntity().getContent();
【问题讨论】:
-
您的问题到底是什么?还有一点 mroe 代码会很有帮助,例如
httpPost是什么? -
我正在尝试使用 java 程序发送 curl 命令(已经是 Linux 终端命令)。我已经尝试过多部分,但我不需要上传或下载文件,它只是在远程存储库之间传输。
-
好吧,您的 Java 代码不完整。而且我们不知道为什么它不起作用。所以请发布更多代码(是的,我们都知道
curl是什么......叹息)。例如。您没有调用任何 post 方法,因此上面的片段显然无法工作。你至少需要一个 HttpURLConnection ... -
我正在使用 org.apache.http.client 与 REST 服务器进行通信。我已经使用 cURL 提出了请求。我现在要做的是从 java 程序执行这些请求。问题是其中一个请求需要进行文件传输,用 curl 是使用 -F 选项进行的,问题是如何在 java 中进行?