Sto tentando di inviare dati formattati JSON a un server utilizzando Java. Le informazioni arrivano sul server, ma il server risponde con una "Richiesta non valida".Java: Anteprima HttpPost Request
HttpPost httpost = new HttpPost(path);
StringEntity se = new StringEntity(JSONRequest);
//sets the post request as the resulting string
httpost.setEntity(se);
//sets a request header so the page receving the request will know what to do with it
httpost.setHeader("Accept", "application/json");
httpost.setHeader("Content-type", "application/json;charset=utf8");
HttpResponse response = httpclient.execute(httpost);
Questa è la configurazione di base della mia richiesta. Ecco l'JSONData:
{"clientApplicationDto":{"AuthenticationToken":"","BrandId":12,"MobileDeviceApplicationId":0},"mobileDeviceInfo":{"CarrierName":"MTN-SA","OsVersion":"2.2.2","ClientApplicationVersion":"TEST","DeviceManufacturer":"HTC","DeviceName":"HTC Desire","DeviceUniqueId":"1e9766fa2ef4c53a","OsName":"8","ClientApplicationTypeId":3}}
Se questo sembra giusto per te molto, inizierò spamming gli amministratori, ma per ora, ho bisogno di sapere se mi manca qualcosa.
Hm .. per cominciare, 'StringEntity' (o meglio qualsiasi' sottoclasse AbstractHttpEntity') ha un tipo di contenuto, sarà di default è impostato sulla constanti 'HTTP.PLAIN_TEXT_TYPE', usando' HTTP.DEFAULT_CONTENT_CHARSET' come set di caratteri. Potresti impostare il tuo tipo di contenuto chiamando 'se # setContentType (" application/json; charset = utf-8 ")'. Il tuo JSON sembra ben formato. – Jens
Solo per verificare se si tratta di un problema con il post o il codice Java hai provato la richiesta in qualcosa di simile alla console Chrome REST? https://chrome.google.com/webstore/detail/cokgbflfommojglbmbpenpphppikmonn – Dori