我需要将我的注册表格详细信息提交给服务器api。我通过在按钮click上调用一个函数尝试了一种方法,但是服务器上没有任何内容。我需要将数据发布为Content-type:Form-Data,因为服务器对其他任何内容均无响应。请帮助我,谢谢!
public class Login extends AsyncTask<String, Void, Void> {
String userName;
String password;
public Login(String user, String pass) {
userName = user;
password = pass;
}
protected void onPreExecute() {
super.onPreExecute();
}
protected Void doInBackground(String... params) {
OkHttpClient client = new OkHttpClient();
RequestBody formBody = new FormBody.Builder()
.addEncoded("user",userName)
.addEncoded("pass",password)
.build();
Request request = new Request.Builder()
.url("http://www.autotrack.rs/android_juzna_backa/login.php")
.post(formBody)
.build();
try {
Call call = client.newCall(request);
Response response = call.execute();
System.out.println(response.body().string());
}catch (Exception m)
{
m.printStackTrace();
}
Response response = null;
try {
response = client.newCall(request).execute();
System.out.println(response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
if(!response.isSuccessful())
{
try {
throw new IOException("Unexpected: "+response);
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
您忘记添加setType方法并使用addFormDataPart。
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("somParam", "someValue")
.build()
Request request = new Request.Builder()
.url("http://www.autotrack.rs/android_juzna_backa/login.php")
.post(formBody)
.build();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句