2017-04-16 113 views
0

我想發佈2個參數 - 設備uuid,谷歌id - 到服務器。我用OkhttpClient,所以我寫了這樣的代碼:Android - 如何使用okhttpclient將字符串參數發佈到服務器?

 OkHttpClient client = new OkHttpClient(); 

     FormBody.Builder formBuilder = new FormBody.Builder() 
       .add("uuid", "123456789123") 
       .add("google_id", "testgoogleid"); 

     RequestBody formBody = formBuilder.build(); 

     Request request = new Request.Builder() 
       .url("http://ip:port/signup?") 
       .post(formBody) 
       .build(); 

     Response response = client.newCall(request).execute(); 
     Log.d("Response", response.body().string()); 

我知道,Formbody.Builder是HTTP請求,但response.body()字符串()是:

{」消息「:」瀏覽器(或代理)發送請求,該服務器不明白。「}

如何使用POST和OkhttpClient發送這兩個參數到服務器?

回答

0

入住這link

public static final MediaType JSON = MediaType.parse("application/json;charset=utf-8"); 

OkHttpClient client = new OkHttpClient(); 

String post(String url, String json) throws IOException { 
RequestBody body = RequestBody.create(JSON, json); 
Request request = new Request.Builder() 
    .url(url) 
    .post(body) 
    .build(); 
Response response = client.newCall(request).execute(); 
return response.body().string(); 
} 
相關問題