You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在纯Kotlin Common模块中从URL获取主机地址

在Kotlin Multiplatform(纯Kotlin,基于Ktor)中提取URL主机地址

方案:使用Ktor的Url类

Ktor提供的io.ktor.http.Url是跨平台的通用工具类,完全适配Common模块,无需依赖JVM特定API,可直接用来解析URL并提取主机地址。

1. 配置依赖

在KMM项目的Common模块build.gradle.kts中添加Ktor HTTP依赖(版本请匹配你使用的Ktor版本):

commonMain.dependencies {
    implementation("io.ktor:ktor-http:$ktorVersion")
}

2. 解析URL提取主机

通过Url类解析目标URL字符串,直接调用host属性即可获取主机地址,示例代码:

import io.ktor.http.Url

fun getHostFromUrl(url: String): String {
    return Url(url).host
}

// 使用示例
fun demo() {
    val sampleUrl = "https://example.com/path/to/resource?param=1"
    println(getHostFromUrl(sampleUrl)) // 输出:example.com
}

补充说明

  • 该方案支持所有Ktor兼容平台(JVM、Android、iOS、JS、Linux等),无需为不同平台单独编写适配代码。
  • 若URL包含端口号,可通过Url的port属性单独获取,host属性仅返回主机名部分。
  • 非法URL会触发IllegalArgumentException,可根据业务需求添加异常捕获逻辑。

内容的提问来源于stack exchange,提问作者eenNaampje

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 14:34:50