通过HttpUrlconnection提交数据。getRequestCode返回415
1.javabean转换成JSON字符串工具类。这里使用Gson解析器,请各位自行添加依赖包。
//将JSON字符串转换成javabeanpublicstaticTparsr(String json ,ClasstClass){//判读字符串是否为空if(TextUtils.isEmpty(json)){returnnull; }if(gson==null){ gson =new Gson(); }return gson.fromJson(json,tClass); }//将javabean转换成JSON字符串publicstatic StringconverJavaBeanToJson(Object obj){if(obj ==null){return""; }if(gson ==null){ gson =new Gson(); } String beanstr = gson.toJson(obj);if(!TextUtils.isEmpty(beanstr)){return beanstr; }return""; }1234567891011121314151617181920212223242526HttpUrlconnection部分//发送JSON字符串 如果成功则返回成功标识。publicstatic StringdoJsonPost(String urlPath, String Json) {// HttpClient 6.0被抛弃了 String result =""; BufferedReader reader =null;try { URL url =new URL(urlPath); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.setDoInput(true); conn.setUseCaches(false); conn.setRequestProperty("Connection","Keep-Alive"); conn.setRequestProperty("Charset","UTF-8");// 设置文件类型: conn.setRequestProperty("Content-Type","application/json; charset=UTF-8");// 设置接收类型否则返回415错误//conn.setRequestProperty("accept","*/*")此处为暴力方法设置接受所有类型,以此来防范返回415; conn.setRequestProperty("accept","application/json");// 往服务器里面发送数据if (Json !=null && !TextUtils.isEmpty(Json)) {byte[] writebytes = Json.getBytes();// 设置文件长度 conn.setRequestProperty("Content-Length", String.valueOf(writebytes.length)); OutputStream outwritestream = conn.getOutputStream(); outwritestream.write(Json.getBytes()); outwritestream.flush(); outwritestream.close(); Log.d("hlhupload","doJsonPost: conn"+conn.getResponseCode()); }if (conn.getResponseCode() ==200) { reader =new BufferedReader(new InputStreamReader(conn.getInputStream())); result = reader.readLine(); } }catch (Exception e) { e.printStackTrace(); }finally {if (reader !=null) {try { reader.close(); }catch (IOException e) { e.printStackTrace(); } } }return result; }