Вход на сайт с помощью запроса POST в c # - PullRequest
0 голосов
/ 10 марта 2019

Я пытаюсь сделать запрос на вход в Runescape, используя c #. Моя проблема в том, что я не вошел в систему. Источник страницы показывает нормально, однако я не вошел в систему. Это код, который я до сих пор. HTML-код страницы показывает, что мне все еще нужно войти в систему. Я думаю, что это может быть из-за файлов cookie или заголовков, но я не совсем уверен, если кто-то может помочь, я был бы благодарен

`using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Threading;
using System.Net;
using System.Text.RegularExpressions;

namespace ConsoleApp1
{
 class Program
{
    static void Main(string[] args)
    {
        String username = "my username is here";
        String password = "password here";
                    ServicePointManager.Expect100Continue = false;
                    ServicePointManager.MaxServicePointIdleTime = 2000;
                    ServicePointManager.SecurityProtocol = 
                    SecurityProtocolType.Tls12;
                    byte[] buffer = Encoding.ASCII.GetBytes("username=" + 
                    username.Replace(" ", "20%") + "&password=" + 
                    password.Replace(" ", "20%") + 
                    "&mod=www&ssl=0&dest=community%2C");
                    HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create("https://secure.runescape.com/m=weblogin/login.ws");           
                    WebReq.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0";
                    WebReq.Method = "POST";
                    WebReq.Referer = "https://secure.runescape.com/m=weblogin/login.ws";
                    WebReq.ContentType = "application/x-www-form-urlencoded";
                    WebReq.ContentLength = buffer.Length;
                    Stream PostData = WebReq.GetRequestStream();
                    PostData.Write(buffer, 0, buffer.Length);
                    PostData.Close();
                    HttpWebResponse WebResp = 
                    (HttpWebResponse)WebReq.GetResponse();
                    Stream Answer = WebResp.GetResponseStream();
                    StreamReader _Answer = new StreamReader(Answer);
                    string data = _Answer.ReadToEnd();
                    Console.WriteLine(data);
                    Console.ReadKey();


    }
}

} `

...