public static RequestInfo postRequest(URL url, String cookie, String referrer, HashMap requestProperties, char[] parameter, boolean redirect) throws IOException { // logger.finer("post: "+link+"(cookie:"+cookie+" parameter: // "+parameter+")"); long timer = System.currentTimeMillis(); HTTPConnection httpConnection = new HTTPConnection(url.openConnection()); httpConnection.setInstanceFollowRedirects(redirect); if (referrer != null) httpConnection.setRequestProperty("Referer", referrer); else httpConnection.setRequestProperty("Referer", "http://" + url.getHost()); if (cookie != null) httpConnection.setRequestProperty("Cookie", cookie); // TODO das gleiche wie bei getRequest httpConnection.setRequestProperty("Accept-Language", ACCEPT_LANGUAGE); httpConnection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"); if (requestProperties != null) { Set keys = requestProperties.keySet(); Iterator iterator = keys.iterator(); String key; while (iterator.hasNext()) { key = iterator.next(); httpConnection.setRequestProperty(key, requestProperties.get(key)); } } if (parameter != null) { httpConnection.setRequestProperty("Content-Length", parameter.length + ""); } httpConnection.setDoOutput(true); httpConnection.connect(); httpConnection.post(parameter); int responseCode = 0; try { responseCode = httpConnection.getResponseCode(); } catch (IOException e) { } String location = httpConnection.getHeaderField("Location"); String setcookie = getCookieString(httpConnection); RequestInfo requestInfo = new RequestInfo("", location, setcookie, httpConnection.getHeaderFields(), responseCode); requestInfo.setConnection(httpConnection); // logger.finer("postRequest " + url + ": " + // (System.currentTimeMillis() - timer) + " ms"); return requestInfo; }