0
嘿, 我想用xml主體發佈一個http請求。 這是我的代碼:在Java中發送HTTP POST請求的問題
public void setBla(String url, String cookie, SomeEnum status) {
String availabilityUrl = url;
HttpPost httpPost = new HttpPost(availabilityUrl + VERSION_TEXT);
httpPost.setHeader(HttpHeaders.AUTHORIZATION, LP_AUTH_HEADER_VALUE);
httpPost.setHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_XML);
httpPost.setHeader("X-HTTP-Method-Override", HttpMethod.PUT);
httpPost.setHeader("Cookie", cookie);
httpPost.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML);
HttpResponse response = null;
try {
HttpEntity entity = new StringEntity("<availability><chat>" + status + "</chat></availability>", HTTP.UTF_8);
httpPost.setEntity(entity);
response = m_httpClient.execute(httpPost);
}
catch (Exception e) {
e.printStackTrace();
}
}
即時得到從應用服務器(400)錯誤請求,並在調試我可以看到HttpEntity也有ContentType標頭和它設置爲text/plain的... 爲什麼呢? 我在做什麼錯? 什麼是正確的方式發送請求與身體?
SOLUTION:
OK ..我得到了它.. 謝謝skaffman,這是非常接近:) AbstractHttpEntity聲明的setContentType功能...
對不起,打擾..
Udi
值得一提的是,您正在使用Apache http客戶端庫(以及哪個版本)。 – 2011-04-20 13:09:40