我正在使用OkHttp 2.4.0。

HttpUrl url = new HttpUrl.Builder()
            .scheme("https")
            .host("www.something.com")
            .addPathSegment("/api/v1/doc")
            .build();

预期的网址是:https://www.something.com/api/v1/doc

我得到的是:https://www.something.com%2Fapi%2Fv1%2Fdoc

pathSegment中的“/”被替换为“%2F”。为什么会发生这种情况,以及如何避免这种情况发生,因为我收到了无效的Url异常,因为Apache不允许在URL中使用“%2F”。

最佳答案

试试这个:

    HttpUrl url = new HttpUrl.Builder()
        .scheme("https")
        .host("www.something.com")
        .addPathSegment("api")
        .addPathSegment("v1")
        .addPathSegment("doc")
        .build();

关于Android OkHttp addPathSegment替换斜杠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31384586/

10-10 07:16