Логин PHP по WebRequest C# Wpf - PullRequest
       45

Логин PHP по WebRequest C# Wpf

0 голосов
/ 15 апреля 2020

У меня проблема с этим сценарием, мне нужно войти и получить журналы с моего игрового сервера на 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...