java httpurlconnection 发送cookie时,cookie要在Post前发送

来源:互联网 发布:联通软件研究院待遇 编辑:程序博客网 时间:2024/06/07 20:25
public InputStream getStream(URL url,String post,URL cookieurl){ HttpURLConnection connection; String cookieVal = null; String sessionId = ""; String key=null; if(cookieurl!=null){ try{ connection = (HttpURLConnection)cookieurl.openConnection(); for (int i = 1; (key = connection.getHeaderFieldKey(i)) != null; i++ ) { if (key.equalsIgnoreCase("set-cookie")) { cookieVal = connection.getHeaderField(i); cookieVal = cookieVal.substring(0, cookieVal.indexOf(";")); sessionId = sessionId+cookieVal+";"; } } InputStream in = connection.getInputStream(); System.out.println(sessionId); }catch(MalformedURLException e){ System.out.println("url can't connection"); return null; }catch(IOException e){ System.out.println(e.getMessage()); return null; } } try { connection = (HttpURLConnection)url.openConnection(); //这个要写在Post前,否则会取不到值,原因我不知道 if(cookieurl!=null){ connection.setRequestProperty("Cookie", sessionId); } if(post!=""){ connection.setDoOutput(true); connection.setRequestMethod("POST"); connection.getOutputStream().write(post.getBytes()); connection.getOutputStream().flush(); connection.getOutputStream().close(); } int responseCode = connection.getResponseCode(); int contentLength = connection.getContentLength(); // System.out.println("Content length: "+contentLength); if (responseCode != HttpURLConnection.HTTP_OK ) return(null); InputStream in = connection.getInputStream(); return(in); } catch(Exception e) { // System.out.println(e); // e.printStackTrace(); return(null); } }
原创粉丝点击