Android HttpPost和HttpClient替代品

时间:2015-05-30 11:13:40

标签: http-post httpclient deprecated multipartentity httpentity

只是一个简单的问题。 到目前为止,我一直在使用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];

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

1 个答案:

答案 0 :(得分:0)

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

有关okHTTP的更多信息,请访问:http://square.github.io/okhttp/

有关上传多部分文件的信息,请访问:

Uploading a large file in multipart using OkHttp