kotlin:okhttp
文書の過去の版を表示しています。
Okhttpクライアント
基本的な使い方
まず、OkHttpの依存関係をプロジェクトに追加する。
implementation("com.squareup.okhttp3:okhttp:4.9.3")
次に、OkHttpクライアントを作成する.
val client = OkHttpClient()
リクエストオブジェクトを作成する
val request = Request.Builder() .url("url") .build()
リクエストを送信する
OkHttpClient().newCall(request).execute().use { response -> if (!response.isSuccessful) throw RuntimeException() // <- これはエラーハンドリング }
ヘッダーの追加
ヘッダーを追加するにはaddHeader
メソッドを使用する。
val request = Request.Builder() .url("site_url") .addHeader("key", "val") // key と val を設定する .addHeader("Content-Type", "text/xml") // Content-Typeの設定の一例 .build()
POSTメソッドの送信について
POSTメソッドを用いてアクセスするにはpost()
を使用する。
まずはリクエストボディーを作成し、それを指定してリクエストを作成する。
val request_body = "request" val request = Request.Builder() .url(url) .post(request_body) .build() val response = OkHttpClient().newCall(request).execute()
HTTPリクエストのタイムアウト値を設定する
Call インターフェースのtimeout
メソッドを使用する。
メソッドは3種類ある。以下、設定例。
val client = OkHttpClient.Builder() .connectTimeout(10, TimeUnit.SECONDS) .writeTimeout(10, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .build() val request = Request.Builder() .url("http://example.com") .build() val call = client.newCall(request) call.timeout().timeout(60, TimeUnit.SECONDS) val response = call.execute()
kotlin/okhttp.1680844985.txt.gz · 最終更新: 2023/04/07 14:23 by mikoto