0
我在嘗試編寫一個簡單的瀏覽器遊戲機器人的問題。RestSharp在響應對象上沒有cookie
遊戲可以在這裏找到http://en.gladiatus.gameforge.com/game/。
問題是,我登錄後,我需要獲取將用於未來請求的cookie,但RestResponse.Cookies始終爲空。
下面是一個可以解釋我的問題的工作登錄代碼。
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;
}
我嘗試了一切,我知道(這並不多),但我無法找到我的代碼有什麼問題。
感謝您的閱讀!
嘗試使用網絡流量調試器(例如Fiddler http://www.telerik.com/fiddler)檢查響應:很可能您在響應中沒有收到任何cookie。 – Isantipov 2015-03-02 23:58:35
嗯你說得對。用瀏覽器做同樣的事情我會收到一個cookie。要檢查爲什麼現在。謝謝您的幫助。 – MHC 2015-03-03 00:12:50
你知道了嗎? – 2015-03-17 16:59:54