怎么能读取网页有cookie的内容,java怎么实现?
/**
 * 读取网络的一个文本文件(图片不行)
 * @param url
 * @return String
 */
public String urlConnnect(String url)
{
String inputLine;
String temp = "";
try
{
URL yahoo = new URL(url);
BufferedReader in = new BufferedReader(new InputStreamReader(yahoo.openStream()));
while ((inputLine=in.readLine()) != null)
temp =  temp + inputLine + "\n"; 
in.close();
}
catch(Exception e)
{
e.printStackTrace();
System.out.println(e);
}
return temp;
}
这是不带cookie的读取方法,带的要怎么实现?

解决方案 »

  1.   

    不懂就一边玩去
    去下个HttpClient的包
    HttpClient client=new HttpClient();
    GetMethod method=new GetMethod(url);
    int status=client.excute..Method(method);这单词有点长,记不住了.
    Cookies[] cookies=client.getStatu.getCookie();
    这就行了!
      

  2.   

    Cookie   c[]=request.getCookies();
      

  3.   

    package test;import javax.servlet.http.*;
    import java.io.*;public class myCookie {
      public myCookie() {
      }
      /*
       * 本文件集中了读、写、删除COOKIE的方法
       */
      // 定义ICP的域名.xerllent.cn
      public static String hostName = ".xerllent.cn";
      /**
       * <p>Desc: 读取的COOKIE的方法  </p>
       * @param request HttpServletRequest的请求句本.
       * @param cookieName COOKIE对象的名称.
       * @return 返回对应于COOKIE对象的名称的内容.
       */
      public static String getCookieValue(HttpServletRequest request, String cookieName) {
        Cookie cookie, aryCookie[];
        aryCookie = request.getCookies();
        if (aryCookie == null) {
          return null;
        }
        for (int i = 0; i < aryCookie.length; i++) {
          cookie = aryCookie[i];
          if (cookie.getName().equals(cookieName)) {
            return cookie.getValue();
          }
        }
        return null;
      }  /**
       * <p>Desc: 删除的COOKIE的方法  </p>
       *
       * @param request HttpServletRequest的请求句本.
       * @param response HttpServletResponse的请求句本.
       * @param cookieName COOKIE对象的名称.
       *
       * @return 返回对应于COOKIE对象的名称的内容..
       */
      public static void removeCookie(HttpServletRequest request,
                        HttpServletResponse response,
                        String cookieName) {
        Cookie cookie, aryCookie[];
        aryCookie = request.getCookies();
        int i;    for (i = 0; i < aryCookie.length; i++) {
          cookie = aryCookie[i];      if (cookie.getName().equals(cookieName)) {
            cookie.setValue(null);
            response.addCookie(cookie);
          }
          else {
            Cookie cook = new Cookie(cookieName, null);
            cook.setVersion(0);
            response.addCookie(cook);
          }
        }
      }  /**
       * <p>Desc: 写的COOKIE的方法  </p>
       *
       * @param request HttpServletRequest的请求句本.
       * @param response HttpServletResponse的请求句本.
       * @param cookieName COOKIE对象的名称.
       * @param cookieValue 对应于COOKIE对象的名称的内容.
       *
       */
      public static void addCookie(HttpServletResponse response,
                     String cookieName,
                     String cookieValue) {
        Cookie cookie;
        cookie = new Cookie(cookieName, cookieValue);
        cookie.setDomain(hostName);
        cookie.setPath("/");
        cookie.setVersion(0);
        response.addCookie(cookie);
      }  /**
       * <p>Desc: 写的COOKIE的方法  </p>
       *
       * @param request HttpServletRequest的请求句本.
       * @param response HttpServletResponse的请求句本.
       * @param cookieName COOKIE对象的名称.
       * @param cookieValue 对应于COOKIE对象的名称的内容.
       *
       */
      public static void addCookie(HttpServletRequest request,
                     HttpServletResponse response,
                     String cookieName,
                     String cookieValue) {
        Cookie cookie;
        cookie = new Cookie(cookieName, cookieValue);
        cookie.setDomain(hostName);
        cookie.setPath("/");
        cookie.setVersion(0);
        response.addCookie(cookie);
      }}
      

  4.   

    调用方法:
    <%
    param=myCookie.getCookieValue(request, "paramstr");
    %>
      

  5.   

    httpUnit用这个应该可以完成这个功能
      

  6.   

    关注读它的HTTP头文件可以吗?里面Set-Cookie下的内容,不就是Cookie了吗?
      

  7.   

    Cookie cok[]=request.getCookies();
    for(int i=0;i<cok.length;i++){
    String s=(String)cok[0].getValue();
    System.out.println(s);
    }
      

  8.   

    给个实用工具类:package coreservlets;import javax.servlet.*;
    import javax.servlet.http.*;/**
     * Two static methods for use in cookie handling.
     */public class CookieUtilities { /**
     * Given the request object, a name, and a default value, this method tries
     * to find the value of the cookie with the given name. If no cookie matches
     * the name, the default value is returned.
     */ public static String getCookieValue(HttpServletRequest request,
    String cookieName, String defaultValue) {
    Cookie[] cookies = request.getCookies();
    if (cookies != null) {
    for (int i = 0; i < cookies.length; i++) {
    Cookie cookie = cookies[i];
    if (cookieName.equals(cookie.getName())) {
    return (cookie.getValue());
    }
    }
    }
    return (defaultValue);
    } /**
     * Given the request object and a name, this method tries to find and return
     * the cookie that has the given name. If no cookie matches the name, null
     * is returned.
     */ public static Cookie getCookie(HttpServletRequest request, String cookieName) {
    Cookie[] cookies = request.getCookies();
    if (cookies != null) {
    for (int i = 0; i < cookies.length; i++) {
    Cookie cookie = cookies[i];
    if (cookieName.equals(cookie.getName())) {
    return (cookie);
    }
    }
    }
    return (null);
    }
    }
      

  9.   


        //Process the HTTP Get request
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws
                ServletException, IOException {
            response.setContentType(CONTENT_TYPE);
            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<head><title>Ck</title></head>");
            out.println("<body bgcolor=\"#ffffff\">");
            String sId=null;
            Cookie cookies[]=request.getCookies();
            if(cookies!=null)
            {
            for(int i=0;i<cookies.length;i++)
            {
                if (cookies[i].getName().equals("sessionId"))
                    sId = cookies[i].getValue();
                break;
            }
            }
            if(sId==null)
           {
           Random rand=new Random();
           sId=Long.toString(rand.nextLong());
            out.println("<h1>第一次 号为:"+sId+"</h1>");
           }
           else
           {
            out.println("<h1>老顾客 号为:"+sId+"</h1>");
           }
           Cookie c=new Cookie("sessionId",sId);
           c.setMaxAge(10);
           response.addCookie(c);
            out.println("<a href='/WebModule1/ck'>再来一次</a>");
           // out.println("<a href='http://localhost:8080/WebModule2/servlet1'>再来一次</a>");
            out.println("</body>");
            out.println("</html>");
            out.close();
        }    //Process the HTTP Post request
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws
                ServletException, IOException {
            doGet(request, response);
        }    //Clean up resources
        public void destroy() {
        }
    }