okhttp - 将 OkHttp 的 HttpUrl 转换为相对 url
问题描述
如何将 HttpUrl 转换为相对 url,例如https://example.com/fo/o?bar#baz
转换为/fo/o?bar#baz
?
解决方案
没有一个很好的解决方案。最明显的之一
- 从你自己的组件构建它,比如路径、查询、片段。
- 应用剥离正则表达式。
- 删除一个公共前缀。
所以选项3
val u = "https://example.com/fo/o?bar#baz".toHttpUrl()
val u2 = u.resolve("/")
println(u) // https://example.com/fo/o?bar#baz
println(u2) // https://example.com/
println(u.toString().substring(u2.toString().length - 1)) // /fo/o?bar#baz
推荐阅读
- image - Flutter中如何在网络镜像中设置超时参数?
- delphi - WebView2 (TEdgeBrowser) 在后台不工作(如果在屏幕上不可见) - 仅显示为灰色矩形
- c++ - 有人可以告诉我为什么我在 30 Day of Code Challenge 的 GeeksforGeeks 代码编辑器上遇到这个问题吗?
- kubernetes - Kubernetes:将每个 Pod 暴露在唯一的端口下
- javascript - 来自浏览器控制台的 Google Recaptcha v3
- php - 尝试在mac上设置php环境,文件不存在
- sql - 合并语法,使用子查询时的括号
- javascript - PostgreSQL 未连接
- r - RStudio 不断将 `/usr/local/bin` 添加到 PATH 变量的前面
- javascript - 如何使用 MongoDB 查询获取每个月的注册用户数?