android - 在 Android 的 okhttp 中向 GET 请求添加查询参数

标签 android okhttp

有没有办法在 Android 中使用 okhttp 将查询参数 (?param1=val1¶m2=val2) 添加到 GET 请求?

我正在寻找一个 API,而不是在循环中手动添加参数并转义值。

最佳答案

尝试 HttpUrl 类(在 okhttp 包中)。


//adds the pre-encoded query parameter to this URL's query string
addEncodedQueryParameter(String encodedName, String encodedValue)

//encodes the query parameter using UTF-8 and adds it to this URL's query string
addQueryParameter(String name, String value)

注意:如果已经有这个名称的名称/值对,这些函数只会添加另一对


setEncodedQueryParameter(String encodedName, String encodedValue)

setQueryParameter(String name, String value)

注意:如果已经有这个名称的名称/值对,这些函数将删除它们,然后才添加这个新的对


例子:

HttpUrl url = new HttpUrl.Builder()
    .scheme("https")
    .host("www.google.com")
    .addPathSegment("search")
    .addQueryParameter("q", "polar bears")
    .build();

关于android - 在 Android 的 okhttp 中向 GET 请求添加查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875325/

相关文章:

retrofit - NetworkOnMainThread RxJava + 改造 + Lollipop+

Android 应用程序崩溃 okhttp3 HTTP FAILED : javax.net.ssl.SSLException : Read error: I/O error during system call, 软件导致连接中止

java - 作用于 View 时出现 NullPointerException

android - recycleview 占用相对布局的所有空间

具有 react-native 的 Android 应用程序可在模拟器上运行,但不能在物理设备上运行

android - 如何从 Kotlin 中的 RequestBody 获取正文字符串?

使用 Google Maps Java API 时出现 java.net.UnknownServiceException

android - 我怎样才能看到 OkHttp 客户端的完整内部工作?改造套接字关闭超时

android - 如何将菜单项动态添加到抽屉导航?

android - 模糊 ListView 项后面的背景