2012-06-04 130 views
1

嗨:)我有一個簡單的問題,但非常討厭。 我試圖使用HttpPost類HttpPost - http請求方法的類型

這是返回的InputStream方法的一部分發送HTTP POST請求:

  HttpClient httpClient = new DefaultHttpClient(); 
     HttpPost httpPost = new HttpPost(url+path); 
     ArrayList<NameValuePair> paramsList = new ArrayList<NameValuePair>(); 
     paramsList.add(new BasicNameValuePair("key1", value1)); 
     paramsList.add(new BasicNameValuePair("key2", value2)); 
     paramsList.add(new BasicNameValuePair("key3", value3)); 

     httpPost.setEntity(new UrlEncodedFormEntity(paramsList)); 

     HttpResponse httpResponse = httpClient.execute(httpPost); 
     HttpEntity httpEntity = httpResponse.getEntity(); 
     InputStream is = httpEntity.getContent(); 
     return is; 

但問題是在服務器上,因爲服務器「認爲」,即時通訊發送GET請求而不是POST。問題是:哪裏出錯?我在其他應用程序中使用類似的代碼部分,它工作正常。

乾杯。 :)

+0

也許你需要改變你的電話就搞定了。你有什麼樣的服務?它是PHP? PHP明確區分post和get,如果它期望GET的參數,它將無法從POST獲取它。 – Th0rndike

+0

webservice正在等待POST請求,沒有機會使用GET發送參數:( –

+2

是什麼讓你認爲服務器看到GET請求? –

回答

0

請嘗試

httpPost.setEntity(new UrlEncodedFormEntity(paramsList, HTTP.UTF_8)); 

,而不是

httpPost.setEntity(new UrlEncodedFormEntity(paramsList)); 
+0

它不工作:( –

+0

請分享你的代碼.. – Nikhil

+0

這是所有,我得到了我的方法,區別僅在參數。使用BufferedReader和readLine()方法。 –