Search code examples
javac#cookiesunity-game-enginecookiecontainer

retrieve data inside cookieContainer in java


I'm developing a game using Unity engine which have to send cookie from Client side C# to server side - Java , and I facing this problem (maybe cross platform problem? I'm not sure)

I write a bunch of code in client side like this

private HttpWebRequest request(){
    try{
        string url = "http://localhost:8080/...";
        var request = (HttpWebRequest)WebRequest.Create(url);
        request.Timeout = 15000;
        request.KeepAlive = true ;
        request.Method= "GET";

        CookieContainer cookieContainer = new CookieContainer();
        Cookie Authentication = new Cookie("Session" , "09iubasd");
        Authentication.Domain = url;
        cookieContainer.Add(Authentication);
        request.CookieContainer = cookieContainer;
        request.Headers.Add("testting", "hascome");
        return request;
    }catch(System.Exception ex){
        Debug.Log("[Exception]" + ex);
        throw ex;
    }

}

and The server side is writing in Java Spring. I can't retrieve the Cookie data inside the CookieContainer at server-side. Can anyone give me any suggestion or any solution to solve this problem? Or something similar to the CookieContainer in Java. I have googled but seem no way, If this is a silly question then please teach me. Many thanks. Vince


Solution

  • I just find out the reason why, my cookie domain set wrong way.

    Here the new test Code I just fix. Hope this help who have the same problem in the future ( Of cause it must be great if no one face this silly problem )

    private HttpWebRequest request(){
        try{
            System.Uri uri = new System.Uri("http://localhost:8080/...");
            var request = (HttpWebRequest)WebRequest.Create(uri);
            request.Timeout = 15000;
            request.KeepAlive = true ;
            request.Method= "GET";
    
            Cookie Authentication = new Cookie("Session" , "09iubasd");
            Authentication.Domain = uri.Host;
            request.CookieContainer = new CookieContainer();
            request.CookieContainer.Add(Authentication);
            request.Headers.Add("testting", "hascome");
            return request;
        }catch(System.Exception ex){
            Debug.Log("[Exception]" + ex);
            throw ex;
        }
    
    }