C# RestSharp在响应对象上没有cookie

C# RestSharp在响应对象上没有cookie,c#,cookies,restsharp,C#,Cookies,Restsharp,我在为一个简单的浏览器游戏编写机器人时遇到了一个问题 游戏可以在这里找到 问题是,在我登录之后,我需要获取将来请求时使用的cookie,但是resresponse.cookie总是空的 这是一个可以工作的登录代码,应该可以说明我的问题 public bool DoLogin() { var client = new RestClient("http://s2.en.gladiatus.gameforge.com"); //Server 2 on England. var requ

我在为一个简单的浏览器游戏编写机器人时遇到了一个问题

游戏可以在这里找到

问题是,在我登录之后,我需要获取将来请求时使用的cookie,但是resresponse.cookie总是空的

这是一个可以工作的登录代码,应该可以说明我的问题

public bool DoLogin() {
    var client = new RestClient("http://s2.en.gladiatus.gameforge.com"); //Server 2 on England.
    var request = new RestRequest( "/game/index.php?mod=start&submod=login", Method.POST );
    request.AddHeader( "Content-Type", "application/x-www-form-urlencoded" );
    request.AddParameter( "name", "bot_test"); //test account.
    request.AddParameter( "pass", "bot_test_pass");

    var response = client.Execute( request );

    var match = System.Text.RegularExpressions.Regex.Match( 
        response.Content, 
        "href=\"index\\.php\\?mod=news&submod=serverEvents&sh=([^&]*?)\"" );

    var _Successful = match.Success;

    MessageBox.Show( response.Cookies.Count.ToString() ); //Always 0

    if(!_Successful) //Could not login.
        return false;

    var _SecureHash = match.Groups[0].Value;

    return _Successful;
}
我尝试了我所知道的一切(虽然不多),但我找不到我的代码有什么问题


谢谢你的阅读

在执行任何请求之前,您需要在RestClient上实例化
CookieContainer

var client = new RestClient("http://s2.en.gladiatus.gameforge.com");
client.CookieContainer = new System.Net.CookieContainer();

然后确保在后续请求中重复使用相同的RestClient实例,并且每个请求都会自动传递相同的Cookie。

尝试使用web流量调试器(如Fiddler)检查响应:很可能在响应中没有收到任何Cookie。嗯,你是对的。在浏览器上做同样的事情,我收到了一个cookie。我现在要查一下原因。谢谢你的帮助,你明白了吗?