i m trying to post data in body with x-www-form-urlencoded but i failed
private void sendData(final String toekn) {
RequestParams params = new RequestParams();
params.put("_token", toekn);
StringEntity entity=null;
try {
entity = new StringEntity(params.toString());
entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/x-www-form-urlencoded; charset=UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
PropClient.post(getBaseContext(), "", entity, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
Log.e("see", response.toString());
Toast.makeText(SplashActivity.this, response.toString()+"", Toast.LENGTH_SHORT).show();
}
@Override
public void onSuccess(int statusCode, Header[] headers, JSONArray timeline) {
// Pull out the first event on the public timeline
// Do something with the response
}
@Override
public void onFailure(int statusCode, Header[] headers, String response, Throwable e) {
}
@Override
public void onRetry(int retryNo) {
// called when request is retried
}
});
}
above is code i have tried but always get failure .. api works perfect in postman i have attached pic for understanding params ..
static class
public class PropClient { private static final String BASE_URL = "";
private static AsyncHttpClient client = new AsyncHttpClient();
public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.get(getAbsoluteUrl(url), params, responseHandler);
}
public static void post(Context context, String url, StringEntity entity, AsyncHttpResponseHandler responseHandler) {
// client.addHeader("Accept", "application/json");
client.addHeader("Content-Type", "application/x-www-form-urlencoded");
entity.setContentType("application/json");
client.setUserAgent("android");
client.post(context, getAbsoluteUrl(url), entity, "application/json", responseHandler);
}
private static String getAbsoluteUrl(String relativeUrl) {
String url = BASE_URL + relativeUrl;
return url;
}
}
if u want to use volley u can check my answer
compile 'com.android.volley:volley:1.0.0'
private void getVolley(final String token, String url) {
final RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
StringRequest jsonObjRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(SplashActivity.this, response + " success", Toast.LENGTH_SHORT).show();
Log.e("volley", response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(SplashActivity.this, error.toString() + "", Toast.LENGTH_SHORT).show();
}
}) {
@Override
public String getBodyContentType() {
return "application/x-www-form-urlencoded; charset=UTF-8";
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("User-Agent", "android");
params.put("Content-Type", "application/x-www-form-urlencoded");
return params;
}
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("_token", token);
return params;
}
};
jsonObjRequest.setRetryPolicy(new DefaultRetryPolicy(30 * 1000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(jsonObjRequest);
}