如何用kotlin发起网络请求
时间: 2023-11-05 14:04:13 浏览: 45
在 Kotlin 中,可以使用内置的 Java 网络 API 或第三方库来发起网络请求。下面是使用内置 Java 网络 API 的示例代码:
```kotlin
import java.net.HttpURLConnection
import java.net.URL
fun main() {
val url = URL("https://www.example.com/api")
val connection = url.openConnection() as HttpURLConnection
connection.requestMethod = "GET"
connection.connect()
if (connection.responseCode == HttpURLConnection.HTTP_OK) {
val stream = connection.inputStream.bufferedReader().use {
it.readText()
}
println(stream)
} else {
println("Error: ${connection.responseCode}")
}
connection.disconnect()
}
```
以上代码使用 `java.net.HttpURLConnection` 类来创建 HTTP 连接,并使用 `GET` 方法获取数据。如果响应码为 `HTTP_OK`,则读取响应数据并输出到控制台。
如果你想使用第三方库,比如 OkHttp,只需添加以下依赖:
```groovy
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
```
然后,可以使用以下代码来发起网络请求:
```kotlin
import okhttp3.OkHttpClient
import okhttp3.Request
fun main() {
val client = OkHttpClient()
val request = Request.Builder()
.url("https://www.example.com/api")
.build()
val response = client.newCall(request).execute()
if (response.isSuccessful) {
println(response.body?.string())
} else {
println("Error: ${response.code}")
}
response.close()
}
```
以上代码使用 OkHttp 库创建 HTTP 连接,并使用 Request 构建器设置 URL。如果响应码为 200,则读取响应数据并输出到控制台。