public static String getRequest1(String url, DefaultHttpClient client, String charset) throws Exception { String result = null; int statusCode = 0; HttpGet getMethod = new HttpGet(url); Log.d(TAG, "do the getRequest,url=" + url + ""); try { getMethod.setHeader("User-Agent", USER_AGENT); getMethod.setHeader("Cookie", "cy=" + value);//這個專門給福士點評傳入cookie參數用,目的是為了獲得使用者選擇的城市資訊 // 添加使用者密碼驗證資訊 // client.getCredentialsProvider().setCredentials( // new AuthScope(null, -1), // new UsernamePasswordCredentials(mUsername, mPassword)); HttpResponse httpResponse = client.execute(getMethod); // statusCode == 200 正常 statusCode = httpResponse.getStatusLine().getStatusCode(); Log.d(TAG, "statuscode = " + statusCode); // 處理返回的httpResponse資訊 if (statusCode == 200) { result = retrieveInputStream(httpResponse.getEntity(), charset); Cookie cookie; String cookname,cookvalue; List<Cookie> cookies = client.getCookieStore().getCookies(); if (cookies.isEmpty()) { Log.i(TAG, "-------Cookie NONE---------"); } else { for (int i = 0; i < cookies.size(); i++) { // 儲存cookie cookie = cookies.get(i); cookname = cookie.getName().trim(); cookvalue = cookie.getValue().trim(); if(cookname.equals("cy")){ name = cookname; value = cookvalue; } } } } else result = "networkerror"; } catch (ConnectTimeoutException e) {// 逾時或網路連接出錯 result = "timeouterror"; // e.printStackTrace(); } catch (ClientProtocolException e) { result = "networkerror"; // e.printStackTrace(); } catch (Exception e) { result = "readerror"; Log.e(TAG, e.getMessage()); throw new Exception(e); } finally { getMethod.abort(); } return result; } |