HttpURLConnection的JSON无法在PUT上运行

时间:2014-04-06 21:15:31

标签: java json httpurlconnection

我在Java应用程序中使用Json时遇到困难。我是JSon和HttpURLConnection的新手,所以我可能做了一些非常基本的错误。然而,我尝试了很多事情,但我无法找到错误,所以希望你能帮助我。

我正在尝试对服务器执行PUT调用。这是我的代码。

//desired JSon string: [{"type":"URL", "parsed_data":"TESTDATA"}]
String infoToJSon = "[{\"type\":\"URL\",\"parsed_data\":\"TESTDATA\"}]";

String uri = "www.myURI.com"
String user = "myUser";
String password = "myPass";
String userpass = user + ":" + password;
String encoded = new sun.misc.BASE64Encoder().encode(userpass.getBytes("UTF-8"));

URL url = new URL(uri);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty ("Authorization", "Basic " + encoded);
connection.addRequestProperty("Accept", "application/json");
connection.addRequestProperty("Content-Type", "application/json");
connection.setDoOutput(true);
connection.setRequestMethod("PUT");

OutputStream out = connection.getOutputStream();
out.write(infoToJSon.getBytes("UTF-8"));
System.out.println("ERROR: " + connection.getResponseCode());
out.close();

用户/通行证已经过验证,就像他们在" GET"方法。

我一直收到错误400"代码,我无法识别任何特定问题。

我觉得这个问题与" infoToJSon"以某种方式变量:JSon字符串,char编码或类似的编码。但是,经过一百万次测试后,我无法找到问题。

对此有什么暗示?

编辑:由于hgoebl建议,代码已更正,当前版本是正常工作。

0 个答案:

没有答案