這裏有一個方法可以輕鬆POST到頁面,並以字符串形式獲取響應。第一個參數(HashMap)是您想要發送的參數的鍵值列表。沒有錯誤處理,所以你必須這樣做:
public static String doPost(HashMap<String,String> params, String url) {
HttpPost httpost = new HttpPost(url);
try {
httpost.setURI(new URI(url));
} catch (URISyntaxException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
HttpResponse response = null;
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
Set entryset = params.entrySet();
Iterator iterator = entryset.iterator();
Log.d("Posted URL: ", url+" ");
while(iterator.hasNext()) {
Map.Entry mapentry = (Map.Entry)iterator.next();
String key = ((String)mapentry.getKey()).toString();
String value = (String)mapentry.getValue();
nvps.add(new BasicNameValuePair(key, value));
Log.d("Posted param: ", key+" = "+value);
}
try {
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
try {
httpost.setURI(new URI(url));
} catch (URISyntaxException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
response = getClient().execute(httpost);
HttpEntity entity = response.getEntity();
return convertStreamToString(entity.getContent());
} catch (Exception e) {
// some connection error occurred, nothing we can do
e.printStackTrace();
}
return null;
}
把你的代碼調用,並閱讀響應。 – Aliostad 2011-02-09 13:18:49
您是否確認服務器實際發送了回覆? – sstn 2011-02-12 17:37:37