OkHttp, Apache HttpClient

apayaya·2023년 2월 15일
0

Gradle - Dependencies

목록 보기
2/3

OkHttp

dependencies

dependencies {
    implementation 'com.squareup.okhttp3:okhttp:4.9.1'
}

OkHttpClient

  • client.newCall(Request).execute() -> Response
  • client.newCall(Request).enqueue(Callback) : 비동기

Callback

  • onFailure(Call, IOException) -> void
  • onResponse(Call, Response) -> void

Request

  • new Request.Builder().url(url).header(header).build()
  • Request.Builder
    • .post(RequestBody)
    • .delete()

RequestBody

  • RequestBody.create(String,MediaType)

Response

  • response.body().byteStream() -> InputStream
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
    .url("https://www.example.com/")
    .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36")
    .build();
try (Response response = client.newCall(request).execute()){
    // do something with response
} catch (IOException e) {
    throw new RuntimeException(e);
}

Apache HttpClient

dependencies

dependencies {
    implementation 'org.apache.httpcomponents:httpclient:4.5.13'
}

CloseableHttpClient

methods

  • execute(HttpUriRequest) -> CloseableHttpResponse

HttpGet

CloseableHttpResponse

CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet request = new HttpGet("https://www.example.com/");
request.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36");
try (CloseableHttpResponse response= httpClient.execute(request)){
     // do something with response
} catch (ClientProtocolException e) {
    throw new RuntimeException(e);
} catch (IOException e) {
    throw new RuntimeException(e);
}
profile
java 정리

0개의 댓글