2015-04-22 3 views

ответ

0

Вы можете использовать LIB: https://github.com/square/mimecraft:

FormEncoding fe = new FormEncoding.Builder() 
    .add("name", "Lorem Ipsum") 
    .add("occupation", "Filler Text") 
    .build(); 

Multipart содержание:

Multipart m = new Multipart.Builder() 
    .addPart(new Part.Builder() 
     .contentType("image/png") 
     .body(new File("/foo/bar/baz.png")) 
     .build()) 
    .addPart(new Part.Builder() 
     .contentType("text/plain") 
     .body("The quick brown fox jumps over the lazy dog.") 
     .build()) 
    .build(); 

Смотрите здесь: How to use OKHTTP to make a post request?

+0

Как объединить два? – JY2k

+0

Вы имели в виду параметры и заголовок? – MilanNz

+0

да что именно я имел в виду – JY2k

2

Вот со Пример mplete о том, как использовать okhttp для отправки запроса (okhttp3).

Для передачи данных в виде тела

RequestBody formBody = new FormBody.Builder() 
     .add("param_a", "value_a") 
     .addEncoded("param_b", "value_b") 
     .build(); 

Для передачи данных в качестве составного тела

RequestBody multipartBody = new MultipartBody.Builder() 
      .setType(MultipartBody.FORM) 
      .addFormDataPart("fieldName", fileToUpload.getName(),RequestBody.create(MediaType.parse("application/octet-stream"), fileToUpload)) 
      .build(); 

Для передачи данных в качестве JSon тела

RequestBody jsonBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), 
      jsonObject.toString()); 

Теперь создайте запрос

Request request = new Request.Builder() 
      .addHeader("header_a", "value_a") // to add header data 
      .post(formBody)   // for form data 
      .post(jsonBody)   // for json data 
      .post(multipartBody) // for multipart data 
      .build(); 

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

** fileToUpload является объектом типа Java файл

** клиент является объектом типа OkHttpClient

2

Может быть, вы имеете в виду это:

HttpUrl url = new HttpUrl.Builder().scheme("http").host(HOST).port(PORT) 
      .addPathSegment("xxx").addPathSegment("xxx") 
      .addQueryParameter("id", "xxx") 
      .addQueryParameter("language", "xxx").build(); 
Смежные вопросы