【问题标题】:Appending a param value to a url while making network request in android using okhttp使用okhttp在android中发出网络请求时将参数值附加到url
【发布时间】:2015-03-04 19:58:54
【问题描述】:

我在做什么: 我正在使用 android http 库来发出 http 请求

我在做什么: 我现在已经迁移到 Oktttp,我正在使用下面的代码


在 AsyncTask 的 doInBackground 中,我正在调用以下函数

public static String getRequestNoPayload(String urlString) throws Exception {

        client.setConnectTimeout(20, TimeUnit.SECONDS); // connect timeout
        client.setReadTimeout(20, TimeUnit.SECONDS);    // socket timeout
        Request request = new Request.Builder()
        .url(urlString)
        .addHeader("phonenumber",AppController.getPhoneNumber())
        .addHeader("authtoken",AppController.getAuthCode())
        .build();

        Response response = client.newCall(request).execute();
        return response.body().string();
    }

网址值:

String urlString=Keys.login_api+"?phonenumber="+edtPhnoId.getText().toString().trim();

发生了什么:

  • 无法发送这样的请求,因为我在 URL 后面附加了 参数?
  • 如何解决这个问题...我应该选择任何特定的编码吗 方法,如果是,那是哪个
  • 任何样本都会有所帮助

【问题讨论】:

标签: android okhttp


【解决方案1】:

试试这个

RequestBody formBody = new FormEncodingBuilder()  
  .add("search", "Jurassic Park")
  .build();
Request request = new Request.Builder()  
  .url("https://en.wikipedia.org/w/index.php")
  .post(formBody)
  .build();

Response response = client.newCall(request).execute();  

https://publicobject.com/2014/06/12/okhttp-ate-mimecraft/

【讨论】:

    猜你喜欢
    • 2014-06-05
    • 2017-06-09
    • 1970-01-01
    • 2021-05-28
    • 2018-06-30
    • 2018-03-03
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多