Android HttpUrlConnection EOFException

前端 未结 7 1629
自闭症患者
自闭症患者 2020-12-03 06:36

I would like to know if there are known issues on Android with HttpUrlConnection and POST requests. We are experiencing intermittent EOFExceptions when maki

7条回答
  •  不知归路
    2020-12-03 07:22

    This worked for me.

    public ResponseObject sendPOST(String urlPrefix, JSONObject payload) throws JSONException {
        String line;
        StringBuffer jsonString = new StringBuffer();
        ResponseObject response = new ResponseObject();
        try {
    
            URL url = new URL(POST_URL);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setDoInput(true);
            connection.setDoOutput(true);
            connection.setReadTimeout(10000);
            connection.setConnectTimeout(15000);
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Accept", "application/json");
            connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
    
            OutputStream os = connection.getOutputStream();
            os.write(payload.toString().getBytes("UTF-8"));
            os.close();
            BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            while ((line = br.readLine()) != null) {
                jsonString.append(line);
            }
            response.setResponseMessage(connection.getResponseMessage());
            response.setResponseReturnCode(connection.getResponseCode());
            br.close();
            connection.disconnect();
        } catch (Exception e) {
            Log.w("Exception ",e);
            return response;
        }
        String json = jsonString.toString();
        response.setResponseJsonString(json);
        return response;
    }
    

提交回复
热议问题