protected Map<String, String> getAndResponse(String urlString) {
		Map<String, String> map = new HashMap<String, String>();
		try {
			URL url = new URL(urlString);
			HttpURLConnection urlconn = (HttpURLConnection)url.openConnection();
			urlconn.setRequestMethod("GET");
			urlconn.setDoOutput(true);
			urlconn.setInstanceFollowRedirects(true);
			urlconn.setRequestProperty("Accept-Language", "ja;q=0.7,en;q=0.3");
			if (cookieString != null && cookieString.length() > 0)
				urlconn.setRequestProperty("Cookie", cookieString);

			urlconn.connect();
			if (urlconn.getResponseCode() != 200) {
				return null;
			}

			Map<String, List<String>> resHeaders = urlconn.getHeaderFields();
			List<String> resHeader = new ArrayList<String>();
			for(Map.Entry<String, List<String>> entry : resHeaders.entrySet()) {
				String key       = entry.getKey();
				List<String> val = entry.getValue();
				for (String v : val) {
					resHeader.add(new StringBuffer().append(key).append("=").append(v).toString());
				}
			}
			map.put(KEY_RESPONSE_HEADER, StringUtil.join(resHeader.toArray(new String[0]), "<>"));
			map.put(KEY_REDIRECTED_URL, urlconn.getURL().toString());
			BufferedReader reader = new BufferedReader(new InputStreamReader(
					urlconn.getInputStream(), "UTF-8"));
			StringBuffer sb = new StringBuffer();
			String line = null;
			while (true) {
				line = reader.readLine();
				if (line == null) {
					break;
				}
				sb.append(line);
			}
			reader.close();
			map.put(KEY_RESPONSE_BODY, sb.toString());
			urlconn.disconnect();
			return map;
		} catch (IOException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}