2012-01-27 22 views
0

私はいくつかのサービスをJavaで構築しており、リダイレクトに関するいくつかの問題があります。このドメインを開かずにドメインからクッキーを取得

私はdomainAにログインフォームを持っています。ログイン後、他のドメインのCookieを設定したいdomainB。今

、私はしばらく後にドメインAを開いて、私はに、ドメインBクッキー銭があるかどうかを確認したいと思いますが、私は、ドメインBドメインAからユーザーをリダイレクトする必要はありません。

は、任意の可能性はどのクッキーがあるかどうかを確認するために、ドメインBドメインAからJAVAにリクエストを送信するために、ありますか?

私がしようとしていた

try { 

     Cookie[] cookies = request.getCookies(); 

     for (int i = 0; i < cookies.length; i++) { 
      Cookie c = cookies[i]; 

      if (c.getName().equals("xvz")) { 
       cookieSCS = c.getValue(); 
      } 
     } 

     if(cookieSCS == null || cookieSCS == ""){ 
      cookieSCS = "there is no cookie"; 
     } 

    } catch (Exception e) { 

     cookieSCS = e.toString(); 

    } 

しかし、私はjava.lang.NullPointerExceptionを取得し、私はこの方法では、文句を言わない私に与えていることを理解する:クッキーを取得するための

  try { 

       URL url = new URL(rURL + "checkCookie"); 
       InputStream response2 = url.openStream(); 
       BufferedReader reader = new BufferedReader(new InputStreamReader(response2, "UTF-8")); 


       for(String line; (line = reader.readLine()) != null;){ 
        responsePool += line; 
       } 

      }catch(Exception e2){ 
       e2.printStackTrace(); 
      } 

      logger.info(responsePool); 

で、ドメインBコードだけですクッキーを取得する可能性はありますか?ドメインBドメインBでクッキーを取得する可能性はありますか?

答えて

0

クロスドメインCookieをこのように読むことはできません。通常、このような状況は、domainAとdomainBの親にCookieを設定することによって処理されます(もしそうなら)。

したがって、親がwww.example.comで、ドメインがmath.example.comsci.example.comの2つのドメインを持つ場合、クッキーは.example.comドメインに設定する必要があります。

クッキーがすべてのサブドメインのワイルドカードとして扱われるためには、最初は.(ドット)が必要です。