我正在开发一个使用Unity引擎的游戏,它必须从客户端C#向服务器端发送cookie - Java,我面临这个问题(可能是跨平台问题?我不确定)
我在客户端写了一堆代码,就像这样
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。我用谷歌搜索但似乎没办法,如果这是一个愚蠢的问题那么请教我。非常感谢。 文斯
答案 0 :(得分: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;
}
}