DefaultHttpClient execute() 方法报错

来源:互联网 发布:php debug pack 编辑:程序博客网 时间:2024/06/05 21:00

今天写代码,这里报错


public static String doGet(String url, boolean useCache, String encoding)
throws Exception {
if (TextUtils.isEmpty(url)) {
throw new NullPointerException("网络请求地址不能为空");
}
String data = null;
if (useCache) {
data = doGetCache(url);
if (!LFormat.isEmpty(data)) {
return data;
}
}
DefaultHttpClient httpClient = new DefaultHttpClient(getClientParams());
HttpGet httpGet = new HttpGet(url);
if (!LFormat.isEmpty(LApplication.getInstance().getSessionValue())) {
httpGet.setHeader(LApplication.getInstance().getSessionKey(),
LApplication.getInstance().getSessionValue());
}
HttpResponse httpResponse;
httpResponse = httpClient.execute(httpGet);   //这里报错
HttpEntity httpEntity = httpResponse.getEntity();
if (httpResponse.getStatusLine().getStatusCode() == 200) {
InputStream inputStream = httpEntity.getContent();
data = convertStreamToString(inputStream, encoding);
if (LFormat.isEmpty(data))
throw new ConnectException(RUNTIME_EXCEPTION);
data = LFormat.JSONTokener(data);
List<Cookie> cookies = httpClient.getCookieStore().getCookies();
for (int i = 0; i < cookies.size(); i++) {
if (LApplication.getInstance().getSessionKey()
.equals(cookies.get(i).getName())) {
LApplication.getInstance().setSessionValue(
cookies.get(i).getValue());
}
}
} else {
throw new ConnectException(RUNTIME_EXCEPTION);
}
if (useCache && !LFormat.isEqual(SEND_ERROR, data)) {
doSetCache(url, data);
}
return data;
}



.解决方法很简单


Manifest清单文件中加上网络协议


    <uses-permission android:name="android.permission.INTERNET" /> 

0 0
原创粉丝点击