private String downloadWebContent(String url) throws ParseException, IOException {
		CloseableHttpResponse response = null;
		try {
			response = requestWebContent(url);
			int i=0;
			while(i<3 && response!=null){
				int statusCode = response.getStatusLine().getStatusCode();
				if (statusCode != HttpStatus.SC_OK) {
					if (statusCode != HttpStatus.SC_NOT_FOUND) {
						if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
							Header sheader = response.getFirstHeader("Location");
							if (sheader != null) {
								String redictUrl = sheader.getValue();
								redictUrl = URLCanonicalizer.getCanonicalURL(redictUrl, url);
								response.close();
								i++;
								response =  requestWebContent(redictUrl);
								continue;
							} 
						}
					}
				}
				HttpEntity entity = response.getEntity();
				String content = EntityUtils.toString(entity);
				return content;
			}
			return "";
		} finally {
			if(response!=null){
				response.close();
			}
		}
	}