2017-04-16 111 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(); 
} 
相关问题