okhttp异步调用

    xiaoxiao2026-08-30  13

    public static void asynPost(String url,String reqbody,Map<String,Object> map){ FormEncodingBuilder builder=addParamToBuilder(reqbody, map); RequestBody body = builder.build(); Request request = new Request.Builder() .url(url) .post(body) .build(); executeAsyn(request); } public static void asynGet(String url){ Request request = new Request.Builder() .url(url) .build(); executeAsyn(request); } public static String executeAsyn(Request request){ System.out.println("start"); try { OkHttpClient client = new OkHttpClient(); client.newCall(request).enqueue(new Callback() { @Override public void onResponse(Response response) throws IOException { System.out.println(response.body().contentType().toString()); System.out.println(response.body().string()); } @Override public void onFailure(Request response, IOException e) { e.printStackTrace(); } }); System.out.println("end"); } catch (Exception e) { e.printStackTrace(); } return "{\"error\":\"fail\"}"; } public static FormEncodingBuilder addParamToBuilder(String reqbody,Map<String,Object> map){ FormEncodingBuilder builder=new FormEncodingBuilder(); if(!StringUtils.isEmpty(reqbody)){ if(reqbody.startsWith("?")){ reqbody=reqbody.substring(1); } String[] params=reqbody.split("&"); for(int i=0;i<params.length;i++){ if(params[i].equals("")){ continue; } String [] kv=params[i].split("="); builder.add(kv[0], kv[1]); } } if(map!=null){ Iterator<Entry<String,Object>> ite= map.entrySet().iterator(); for(;ite.hasNext();){ Entry<String,Object> kv=ite.next(); builder.add(kv.getKey(), kv.getValue().toString()); } } return builder; }
    转载请注明原文地址: https://ju.6miu.com/read-1311732.html
    最新回复(0)