OkHttpClient用法

直接上代碼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();
}
相關文章
相關標籤/搜索