我有一个RESTful API,我可以通过执行以下称:如何利用HttpURLConnection类发送POST请求使用JSON数据
卷曲-H“内容类型:应用程序/ JSON” -d“{‘URL’ :“http://www.example.com”}” http://www.example.com/post
在Java中,当我从卷曲打印出接收到的请求数据,我正确地得到以下数据:
Log: Data grabbed for POST data: {"url":"http://www.example.com/url"}
但是当我通过Java发送POST请求使用HttpClient/HttpPost,我得到格式不好的数据,不允许我从JSON获取键值。
Log: Data grabbed for POST data: url=http%3A%2F%2Fwww.example.com%2Furl
在Java中,我这样做:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.example.com/post/");
List<BasicNameValuePair> nameValuePairs = new ArrayList<BasicNameValuePair>();
BasicNameValuePair nvp1 = new BasicNameValuePair("url", "http://www.example.com/url);
nameValuePairs.add(nvp1);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse httpresponse = httpclient.execute(httppost);
如何让这个从Java请求是在类似的数据是如何发送条款卷曲?
考虑使用Jersey:jersey.java.net – 2014-10-10 20:32:31
我对HttpClient/HttpPost知之甚少,但他们是否将数据作为JSON字符串发送?你不需要在标题中设置内容类型吗? – Leo 2014-10-10 21:36:16