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