我通过web应用向客户端写入一个cookie,然后我要在一个CS应用中获取这个cookie。我的方法是通过httpClient发送一个请求到服务器,但是我不会从这个请求中拿到这个cookie?连接对象为:HttpURLConnection 

解决方案 »

  1.   

    没有用过这种 一般用Request接收发送信息
      

  2.   

    http请求,就一定可以用request.getCookies()取
      

  3.   

    我做的是两个不同的应用,一个web的:向客户端发送cookie,这时候可以用response。一个是j2se的,读取客户端的cookie,这个时候是没有request的。
      

  4.   

    有些不太明白,你所谓的客户端是什么,客户端和j2se之间是如何通讯的?
      

  5.   

    可以传过来不?传HttpServletRequest
      

  6.   

    to 5
    客户端 是指B/S结构中的B
    j2se是运行在客户端的一个C/S应用
      

  7.   

    J2SE怎么可能拿到cookie,你还是去问发明servlet的专家吧?
      

  8.   

    看一下把:
    package com.net;import java.net.HttpURLConnection;
    import java.net.URL;public class ReadCookie {
    public static void main(String[] argv) throws Exception {
    URL url = new URL("http://www.baidu.com/");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    for (int i = 0;; i++) {
    String headerName = conn.getHeaderFieldKey(i);
    String headerValue = conn.getHeaderField(i); if (headerName == null && headerValue == null) {
    break;
    }
    if ("Set-Cookie".equalsIgnoreCase(headerName)) {
    String[] fields = headerValue.split(";\\s*");
    for (int j = 1; j < fields.length; j++) {
    if ("secure".equalsIgnoreCase(fields[j])) {
    System.out.println("secure=true");
    } else if (fields[j].indexOf('=') > 0) {
    String[] f = fields[j].split("=");
    if ("expires".equalsIgnoreCase(f[0])) {
    System.out.println("expires" + f[1]);
    } else if ("domain".equalsIgnoreCase(f[0])) {
    System.out.println("domain" + f[1]);
    } else if ("path".equalsIgnoreCase(f[0])) {
    System.out.println("path" + f[1]);
    }
    }
    }
    }
    }
    }
    }