猿问

从Android发送JSON HTTP POST请求

我正在使用下面的代码发送http POST请求,该请求将对象发送到WCF服务。可以,但是如果我的WCF服务还需要其他参数怎么办?如何从Android客户端发送它们?


这是我到目前为止编写的代码:


StringBuilder sb = new StringBuilder();  


String http = "http://android.schoolportal.gr/Service.svc/SaveValues";  



HttpURLConnection urlConnection=null;  

try {  

    URL url = new URL(http);  

    urlConnection = (HttpURLConnection) url.openConnection();

    urlConnection.setDoOutput(true);   

    urlConnection.setRequestMethod("POST");  

    urlConnection.setUseCaches(false);  

    urlConnection.setConnectTimeout(10000);  

    urlConnection.setReadTimeout(10000);  

    urlConnection.setRequestProperty("Content-Type","application/json");   


    urlConnection.setRequestProperty("Host", "android.schoolportal.gr");

    urlConnection.connect();  


    //Create JSONObject here

    JSONObject jsonParam = new JSONObject();

    jsonParam.put("ID", "25");

    jsonParam.put("description", "Real");

    jsonParam.put("enable", "true");

    OutputStreamWriter out = new   OutputStreamWriter(urlConnection.getOutputStream());

    out.write(jsonParam.toString());

    out.close();  


    int HttpResult =urlConnection.getResponseCode();  

    if(HttpResult ==HttpURLConnection.HTTP_OK){  

        BufferedReader br = new BufferedReader(new InputStreamReader(  

            urlConnection.getInputStream(),"utf-8"));  

        String line = null;  

        while ((line = br.readLine()) != null) {  

            sb.append(line + "\n");  

        }  

        br.close();  


        System.out.println(""+sb.toString());  


    }else{  

            System.out.println(urlConnection.getResponseMessage());  

    }  

} catch (MalformedURLException e) {  


         e.printStackTrace();  

}  

catch (IOException e) {  


    e.printStackTrace();  

    } catch (JSONException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

}finally{  

    if(urlConnection!=null)  

    urlConnection.disconnect();  

}  


holdtom
浏览 1182回答 3
3回答

慕丝7291255

在服务器端,参数顺序无关紧要。似乎您将json放入有效负载中...在此otherParametersUrServiceNeed = "param1=a&param2=b&param3=c";放置服务器所需的参数名称,这仅是示例..您应首先确定请求中服务器所需的参数String otherParametersUrService如我的示例所示,添加这些参数并在其中添加值。
随时随地看视频慕课网APP

相关分类

Java
我要回答