无法正确构建包含hash-bang的HttpUrl

时间:2017-07-04 17:48:21

标签: okhttp

我正在尝试构建包含hash-bang的HttpUrl实例但不能正确地执行此操作。最终的URL字符串值应如下所示:https://www.google.com/mobile/#!/id?platform=android

我尝试了很少的解决方案:

  1. https://gist.github.com/novachevskyi/71529d8fdecf120e626af227193a9e0f 使用HttpUrl.Builder::addEncodedPathSegment添加hash-bang时,最终结果将包含编码的哈希符号。

  2. https://gist.github.com/novachevskyi/12b59e53d6162fb1cd4e6236b03fb504 解析包含hash-bang的基本URL后,我得到下一个结果: https://www.google.com/mobile/?platform=android#!/id

  3. 有没有办法构建HttpUrl实例,字符串值会包含hash-bang吗?

1 个答案:

答案 0 :(得分:0)

您可以使用.parse().fragment()

执行此操作
HttpUrl a = HttpUrl.parse("https://www.google.com/mobile/#!/id?platform=android");
HttpUrl b = new HttpUrl.Builder()
    .scheme("https")
    .host("www.google.com")
    .encodedPath("/mobile/")
    .fragment("!/id?platform=android")
    .build();