Post values from HttpPost in android -
can me or suggest example/ tutorial on how able post values website using json , httpost. trying submit values below website:
("dateobserved", _date); ("provinceid", "59"); ("informationtypeid", "3"); ("reporttypeid","3"); ("iscompetitor",_competitor); ("subbrands","91"); ("consumersegments","3");
its kinda hard me newbie in android apply have read in different post in so wanna ask example or tutorial me understand it. anyways, tried clientprotocolexception. dont know missed something. me please...
httpparams httpparameters = new basichttpparams(); httpconnectionparams.setconnectiontimeout(httpparameters, 15000); httpconnectionparams.setsotimeout(httpparameters, 15000); httpclient httpclient = new defaulthttpclient(httpparameters); httppost httppost = new httppost("http://svr4.sampleserver.com:0727/api/reports"); jsonobject report = new jsonobject(); report.put("iscompetitor", _competitor); report.put("dateobserved", _date); report.put("provinceid", "59"); report.put("informationtypeid", "3"); report.put("reporttypeid","3"); report.put("iscompetitor",_competitor); report.put("subbrands","91"); report.put("consumersegments","3"); stringentity entity1 = new stringentity(report.tostring(), http.utf_8); entity1.setcontenttype("application/json"); httppost.setentity(entity1); httppost.setheader("content-type", "application/json"); httpresponse response = httpclient.execute(httppost); httpentity entity = response.getentity(); log.e("reportcode",_competitor); // in.close(); }catch (exception e){ log.e("clientserverdemo", "error:", e); exception = e; //toast.maketext(getapplicationcontext(), e.getmessage().tostring(), 5).show(); }
logcat:
08-01 18:56:29.668: e/clientserverdemo(2283): org.apache.http.client.clientprotocolexception 08-01 18:56:29.668: e/clientserverdemo(2283): @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:557) 08-01 18:56:29.668: e/clientserverdemo(2283): @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:487) 08-01 18:56:29.668: e/clientserverdemo(2283): @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:465) 08-01 18:56:29.668: e/clientserverdemo(2283): @ com.undfgfgdfb.ireport.dopost.doinbackground(dopost.java:102) 08-01 18:56:29.668: e/clientserverdemo(2283): @ com.undfgfgdfb.ireport.dopost.doinbackground(dopost.java:1) 08-01 18:56:29.668: e/clientserverdemo(2283): @ android.os.asynctask$2.call(asynctask.java:252) 08-01 18:56:29.668: e/clientserverdemo(2283): @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:305) 08-01 18:56:29.668: e/clientserverdemo(2283): @ java.util.concurrent.futuretask.run(futuretask.java:137) 08-01 18:56:29.668: e/clientserverdemo(2283): @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1081) 08-01 18:56:29.668: e/clientserverdemo(2283): @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:574) 08-01 18:56:29.668: e/clientserverdemo(2283): @ java.lang.thread.run(thread.java:1020) 08-01 18:56:29.668: e/clientserverdemo(2283): caused by: org.apache.http.auth.malformedchallengeexception: authentication challenge empty 08-01 18:56:29.668: e/clientserverdemo(2283): @ org.apache.http.impl.auth.rfc2617scheme.parsechallenge(rfc2617scheme.java:72)
08-01 18:56:29.668: e/clientserverdemo(2283): @ org.apache.http.impl.auth.authschemebase.processchallenge(authschemebase.java:111) 08-01 18:56:29.668: e/clientserverdemo(2283): @ org.apache.http.impl.auth.basicscheme.processchallenge(basicscheme.java:95) 08-01 18:56:29.668: e/clientserverdemo(2283): @ org.apache.http.impl.client.defaultrequestdirector.processchallenges(defaultrequestdirector.java:1071) 08-01 18:56:29.668: e/clientserverdemo(2283): @ org.apache.http.impl.client.defaultrequestdirector.handleresponse(defaultrequestdirector.java:968) 08-01 18:56:29.668: e/clientserverdemo(2283): @ org.apache.http.impl.client.defaultrequestdirector.execute(defaultrequestdirector.java:478) 08-01 18:56:29.668: e/clientserverdemo(2283): @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:555) 08-01 18:56:29.668: e/clientserverdemo(2283): ... 10 more
i did following works me,
string responsebody = null; httppost post = new httppost("http://xxxxxxxxx"); string udid = "xxxxx"; string device_token = "********"; jsonobject jobj = new jsonobject(); try { jobj.put("udid", udid); jobj.put("device_token", device_token); } catch (jsonexception e) { // todo auto-generated catch block e.printstacktrace(); } stringentity se = null; try { se = new stringentity(jobj.tostring()); } catch (unsupportedencodingexception e) { // todo auto-generated catch block e.printstacktrace(); } post.setentity(se); post.setheader(new basicheader(http.content_type, "application/json")); post.setheader("content-type", "application/json"); responsehandler<string> responsehandler = new basicresponsehandler(); httpclient client = new defaulthttpclient(); try { responsebody = client.execute(post, responsehandler); } catch (clientprotocolexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); } return responsebody;
Comments
Post a Comment