2012-01-11 12 views
0

私はこのような何かの助けを探しています:外部のウェブサイトからクッキーを取得するにはどうすればよいですか?

私はクッキーを設定するウェブサイトを持っています。開かれたウェブサイトのB Oこの同じブラウザで

と私は、コード使用して、ウェブサイトAにサイトBから接続しようとしている:ウェブサイトA.

からクッキーを取得するために

String responseSession = "";

 try { 

    URL url = new URL(urlSCS + "session"); 
    InputStream response = url.openStream(); 
    BufferedReader reader = new BufferedReader(new 
    InputStreamReader(response, "UTF-8")); 


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

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

    return responseSession; 

を問題は、Cookieを使用してサイトAを開いたときにCookieが正しく表示されることですが、WebサイトBでCookieを取得しようとしたときにエラーが発生します:

SEVERE: Servlet.service() for servlet appServlet threw exception 
java.lang.NullPointerException 
    at com.esb.scs.SessionController.session(SessionController.java:81) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) 
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436) 
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669) 
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:574) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Thread.java:680) 
+0

もう1つのことは、同じ質問を何度も投稿し続けることです。これは今3回です。少なくともあなたの古い質問を閉じてください。あなたは混乱している。 –

答えて

3

このようなウェブサイトではCookieを共有できません。

クッキーを設定すると、ブラウザとウェブサイトAの間の契約になります。ブラウザがウェブサイトBに接続すると、クッキーがブラウザにあるため、ウェブサイトAのクッキーにアクセスできません。このCookieをWebサイトBに送信して、WebサイトAで使用できるようにすることはできません。これはセキュリティ上の理由から行われ、回避することはできません。

ウェブサイトAからウェブサイトBへ情報を転送するには、ウェブサイトAからウェブサイトBへのフォームPOST操作を使用し、必要なデータをポストにエンコードする必要があります。その後、ウェブサイトBは、ウェブサイトAのクッキーから取得しようとする代わりに、POST操作からこの情報を読み取ることができます。

+0

シングルサインオンモジュールのようなものを作成したいので、Cookieを取得する必要があります。私はセッションを取得することができませんし、私はクッキーを使用してユーザーをautenticateしようとしています。 – Ilkar

+0

POST操作でユーザー認証情報をWebサイトAからWebサイトBに渡して認証する必要があります。 –

関連する問題