直接上代码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(); }