直接上代碼java
OkHttpClient okHttpClient = new OkHttpClient(); RequestBody requestBody = new FormBody.Builder().add("mobile", "18888888888").add("type", "1").build(); Request request = new Request.Builder().url("http://192.168.1.128:8082/mobile/sendSmsCode").post(requestBody).build(); Call call = okHttpClient.newCall(request); try { Response response = call.execute(); System.out.println(response.body().string()); Headers headers = response.headers(); System.out.println(headers); List<String> cookies = headers.values("Set-Cookie"); String session = cookies.get(0); System.out.println(cookies); String cookie = session.substring(0, session.indexOf(";")); System.out.println(cookie); } catch (IOException e) { e.printStackTrace(); }
當涉及到服務器端的session時,須要攜帶cookie參數,cookie的值能夠從上次請求中得到。服務器
OkHttpClient okHttpClient = new OkHttpClient(); RequestBody requestBody = new FormBody.Builder().add("mobile", "18888888888").add("smsCode", "123456").build(); Request request = new Request.Builder().addHeader("cookie", "SPRING_SESSION_REDIS=b6b13cd0-3c44-4fa8-8d8d-f77dc8313720").url("http://192.168.1.128:8082/mobile/smsCode/checkout").post(requestBody).build(); Call call = okHttpClient.newCall(request); try { Response response = call.execute(); System.out.println(response.body().string()); Headers headers = response.headers(); System.out.println(headers); List<String> cookies = headers.values("Set-Cookie"); String session = cookies.get(0); System.out.println(cookies); cookie = session.substring(0, session.indexOf(";")); System.out.println(cookie); } catch (IOException e) { e.printStackTrace(); }
上傳文件及其餘參數cookie
File file = new File("C:\\Users\\Public\\Pictures\\Sample Pictures\\test.png"); RequestBody fileBody = RequestBody.create(MediaType.parse("image/png"), file); RequestBody requestBody = new MultipartBody.Builder() /*.setType(MultipartBody.FORM) .addPart(Headers.of("Content-Disposition", "form-data; name=\"file\"; filename=\"" + fileName + "\""), RequestBody.create(MEDIA_TYPE_PNG, file)) .addPart(Headers.of("Content-Disposition", "form-data; name=\"imagetype\""), RequestBody.create(null, imageType)) .addPart(Headers.of("Content-Disposition", "form-data; name=\"userphone\""), RequestBody.create(null, userPhone))*/ .addFormDataPart("upfile", "test.png", fileBody) .addFormDataPart("action", "uploadimage") .addFormDataPart("token", "") .build(); OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder().addHeader("cookie", "SPRING_SESSION_REDIS=b6b13cd0-3c44-4fa8-8d8d-f77dc8313720").url("http://192.168.1.128:8082/mobile/update/avatar/img").post(requestBody).build(); Call call = okHttpClient.newCall(request); try { Response response = call.execute(); System.out.println(response.body().string()); Headers headers = response.headers(); System.out.println(headers); List<String> cookies = headers.values("Set-Cookie"); String session = cookies.get(0); System.out.println(cookies); cookie = session.substring(0, session.indexOf(";")); System.out.println(cookie); } catch (IOException e) { e.printStackTrace(); }