【问题标题】:Android HttpPost and HttpClient SubstituteAndroid HttpPost 和 HttpClient 替代品
【发布时间】:2015-05-30 11:13:39
【问题描述】:

只是一个简单的问题。 到目前为止,我一直在使用 HttpClient 和 HttpPost 将文件和一些参数发布到我服务器上的 php 脚本中。 但是,它们已被弃用。 我想知道我可以用什么来代替它。 我在其他帖子上找到了一些答案,但不幸的是,我没有设法将它们中的任何一个与我用于 MultiPartEntity 帖子的 HttpMime 库集成。

            HttpClient httpclient = new DefaultHttpClient();        // Deprecated
        HttpPost httpost = new HttpPost(inData[0].URL);         // Deprecated

            // Request To Entity
        MultipartEntity entity = new MultipartEntity();
            // Add Parameters
        for(Request r : inData[0].Params)
            entity.addPart(r.Key, new StringBody(r.Body));
            // Add File
        entity.addPart("img", new FileBody(inData[0].FileToUpload));

        httpost.setEntity(entity);

        HttpResponse responsePOST = httpclient.execute(httpost);    // Deprecated
        HttpEntity resEntity = responsePOST.getEntity();            // Deprecated
        if (resEntity != null)
            inData[0].RequestResult.add(EntityUtils.toString(resEntity));
        else
            throw new Exception("");
        return inData[0];

    } catch (Exception e) {
        e.printStackTrace();
        inData[0].RequestResult.add("ERROR");
    }
    return inData[0];

有人能指出我正确的方向吗?谢谢

【问题讨论】:

    标签: http-post httpclient deprecated multipartentity httpentity


    【解决方案1】:

    在我的工作中,我们也使用了 apache 库,但我们已将它们替换为 okHTTP。

    更多关于 okHTTP 的信息可以在这里找到:http://square.github.io/okhttp/

    关于上传多部分文件的信息可以在这里找到:

    Uploading a large file in multipart using OkHttp

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多