У меня проблема с этим сценарием, мне нужно войти и получить журналы с моего игрового сервера на G-Portal.com, но не работает, что не так? Я вижу страницу ответа, но это страница с кратким описанием, когда я не вошел в систему.
String Username = "myusername";
String PassWord = "mypassword";
string formUrl = "https://id2.g-portal.com/login?redirect=https://www.g-portal.com/auth/login?redirectAfterLogin=https://www.g-portal.com/en/";
string getUrl = "https://www.g-portal.com/server/MYGAME/SERVERID/logs";
string formParams = string.Format("login={0}&password={1}", Username, PassWord);
string cookieHeader;
string pageSource;
//REQUEST
WebRequest req = WebRequest.Create(formUrl);
req.Headers.Add("UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36");
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(formParams);
req.ContentLength = bytes.Length;
using (Stream os = req.GetRequestStream())
{
os.Write(bytes, 0, bytes.Length);
}
//RESPONSE
WebResponse resp = req.GetResponse();
cookieHeader = resp.Headers["set-cookie"];
var respHeaders = resp.Headers;
Console.WriteLine("\nResponse uri:\n"+ respHeaders + "\n");
Console.WriteLine("\nSet-cookie:\n" + cookieHeader + "\n");
HttpWebRequest getRequest = WebRequest.Create(getUrl) as HttpWebRequest;
getRequest.Headers.Add("cookie", cookieHeader);
WebResponse getResponse = getRequest.GetResponse();
Console.WriteLine(getResponse.Headers);
using (StreamReader sr = new StreamReader(getResponse.GetResponseStream()))
{
pageSource = sr.ReadToEnd();
Console.WriteLine(pageSource);
}