使用OkHttp3在查询参数之前强制尾部斜杠

时间:2019-10-28 04:55:22

标签: android url okhttp trailing-slash

我有一个带有查询的String网址(例如https://example.com/path/segments?q1=1&q2=2)。如果需要使用okhttp 3,我需要在查询前添加尾部斜杠(https://example.com/path/segments / ?q1=1&q2=2)。该怎么办?

2 个答案:

答案 0 :(得分:2)

在使用字符串之前,您只需在?上进行替换,然后将其替换为/?,就可以得到想要的结果。

这是科特林的一个例子

var url:String = "https://example.com/path/segments?q1=1&q2=2"
url = url.replace("?", "/?")

这应该可行,因为查询变量应该使用urlencode编码,并且您的网址中应该仅出现?

答案 1 :(得分:1)

使用httpUrlBuilder.addPathSegment("")强制在路径末尾添加斜杠。 HttpUrl将每个路径段建模为以/为前缀,并带有一个空字符串以指示斜杠。