Vincent
Vincent

Reputation: 21

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

Upvotes: 1

Views: 1219

Answers (1)

Vincent
Vincent

Reputation: 21

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;
    }

}

Upvotes: 1

Related Questions