0
我试图将curl'-F'选项的等效项发送到指定的URL。发布到服务器的HttpPost参数返回HTTP 500错误
这是命令看起来像使用卷曲:
curl -F"optionName=cool" -F"[email protected]" http://myurl.com
我相信我在使用了Apache的HttpPost类httpcomponents库正确。
我提供了一个name = value类型的参数。 optionName只是一个字符串,'file'是我本地存储在驱动器上的一个文件(因此@myFile表示它是一个本地文件)。
如果我打印响应,我得到一个HTTP 500错误......我不确定是什么原因造成了这里的问题,因为服务器响应时应该使用上面提到的Curl命令。在查看下面的代码时是否有一些简单的错误?
HttpPost post = new HttpPost(postUrl);
HttpClient httpClient = HttpClientBuilder.create().build();
List<BasicNameValuePair> nvps = new ArrayList<BasicNameValuePair>();
nvps.add(new BasicNameValuePair(optionName, "cool"));
nvps.add(new BasicNameValuePair(file, "@myfile"));
try {
post.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
HttpResponse response = httpClient.execute(post);
// do something with response
} catch (Exception e) {
e.printStackTrace();
}
代码的秘密解决了,thssssffffff! – CODEBLACK