/**POST请求
* @param url 请求地址
* @param params 参数【Post运作传送变数必须用NameValuePair[](键值对)阵列储存】
* @return
*/
public String requestByPost(String url,List <NameValuePair> params,Context icontext)
{
System.out.println("---->"+url+"/"+params.toString());
if(!MyApplication.isOnlyWifi||(MyApplication.isOnlyWifi&&isWifiActive(icontext)))
{
/*建立HttpPost连接*/
try {
HttpPost httpRequest=new HttpPost(url);
UrlEncodedFormEntity encoded=new UrlEncodedFormEntity(params,HTTP.UTF_8);
//发出HTTP request
httpRequest.setEntity(encoded);
//取得HTTP response
HttpResponse httpResponse=new DefaultHttpClient().execute(httpRequest);
//若状态码为200(HttpStatus.SC_OK)
if(httpResponse.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
//取出回应字串
String strResult=EntityUtils.toString(httpResponse.getEntity());
return strResult;
}else{
// System.out.println("==返回数据404原因==>"+httpResponse.getStatusLine().getStatusCode());
return "404";
}
} catch (Exception e) {
// TODO Auto-generated catch block
return CONNECT_FALSE;
}
}else{//Wifi网不通
return null;
}
}
你们知不知道为什么我的代码总是一会有数据一会没有数据啊?在没有数据的时候我用电脑的浏览器打开这个链接的时候却是有数据。。。这个问题谁遇到过啊?
没有数据的时候代码总是在下面这句上停住了等半天也过不去。就是说请求发出去了但是数据获取不到。
//取得HTTP response
HttpResponse httpResponse=new DefaultHttpClient().execute(httpRequest);
HttpResponse httpResponse=new DefaultHttpClient().execute(httpRequest);