使用httpdelete将数据发送到服务器

时间:2014-02-05 07:30:26

标签: android web-services http-delete

我是android的新手。当前我正在做android中的web服务连接部分。我正在使用httpdelete方法。但是我无法将值发送到server.Here我附上我的代码。请给我一个解决方案。下面给出了传递JSON对象。

JSONObject obj = {"encrypted_device_id":"c02c705e98588f724ca046ac59cafece65501e36","card_name":"disc"}

CODE

public String getWebDataDelete(String page,JSONObject obj) 
        {

            String result=null;
            HttpParams myParams = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(myParams, 10000);
            HttpConnectionParams.setSoTimeout(myParams, 10000);
            HttpClient httpclient = new DefaultHttpClient(myParams);
            try 
            {
                  HttpDelete httppost = new HttpDelete(Connector.URL+page);         
                 httppost.setHeader("Content-type", "application/json");
                 httppost.setHeader("api_key", "123456");
                 StringEntity se = new StringEntity(obj.toString()); 
                 se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
                 httppost.setEntity(se); 
                 HttpResponse response = httpclient.execute(httppost);
                 result = EntityUtils.toString(response.getEntity());   

            } 
            catch (ClientProtocolException e) 
            {

            } 
            catch (IOException e) 
            {

            }
            return result;

 } 

1 个答案:

答案 0 :(得分:0)

  Try this one, working for me


  DefaultHttpClient httpclient = new DefaultHttpClient();
        HttpPost request = new HttpPost(Url);
        StringEntity se = new StringEntity(JSONobject.toString(), "UTF-8");
        se.setContentType("application/json;charset=UTF-8");
        se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
                "application/json;charset=UTF-8"));
        request.setEntity(se);
        HttpResponse httpresponse = httpclient.execute(request);
        HttpEntity resultentity = httpresponse.getEntity();
        InputStream inputstream = resultentity.getContent();
        result = convertStreamToString(inputstream);


  private static String convertStreamToString(InputStream inputstream) {
    // TODO Auto-generated method stub
    String line = "";
    StringBuilder total = new StringBuilder();
    BufferedReader rd = new BufferedReader(new InputStreamReader(
            inputstream));
    try {
        while ((line = rd.readLine()) != null) {
            total.append(line);
        }
    } catch (Exception e) {
    }
    return total.toString();
}