1

クライアント側 C# からサーバー側 - Java に Cookie を送信する必要がある Unity エンジンを使用してゲームを開発していますが、この問題に直面しています (おそらくクロスプラットフォームの問題ですか?よくわかりません)。

このようにクライアント側で一連のコードを記述します

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

}

サーバー側はJava Springで書いています。サーバー側で CookieContainer 内の Cookie データを取得できません。この問題を解決するための提案や解決策を誰かに教えてもらえますか? または、Java の CookieContainer に似たもの。私はグーグルで検索しましたが、方法がないようです。これがばかげた質問である場合は、教えてください。どうもありがとう。ヴィンス

4

1 に答える 1

1

私のCookieドメインが間違った方法で設定されている理由がわかりました。

ここで、修正したばかりの新しいテスト コードを示します。将来同じ問題を抱えている人がこの助けを借りることを願っています(誰もこのばかげた問題に直面しなければ素晴らしいに違いありません)

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

}
于 2016-06-16T11:10:48.647 に答える