.NET 4.x Как отправить POST запрос с параметрами и куками? - C#

Узнай цену своей работы

Формулировка задачи:

Пытаюсь так
//...
private void sendRequest()
    {
        Cookie cookie1 = new Cookie();
        cookie1.Name = "name1";
        cookie1.Value = kuka2;
        cookie1.Domain = "domain.com";
        Cookie cookie2 = new Cookie();
        cookie2.Name = "name2";
        cookie2.Value = kuka1;
        cookie2.Domain = "domain.com";
        Cookie cookie3 = new Cookie();
        cookie3.Name = "name3";
        cookie3.Value = sessionID;
        cookie3.Domain = "domain.com";
        CookieContainer cont = new CookieContainer();
        cont.Add(cookie1);
        cont.Add(cookie2);
        cont.Add(cookie3);
        //ниже ошибка
        WebRequest rec = new WebRequest();
    }
ошибка Cannot create an instance of the abstract class or interface 'System.Net.WebRequest' Почему она возникает? Кто-нибудь поможет помочь дописать код, чтобы отправлялся запрос на domain.com вместе с моими куками и 2-мя параметрами 1)id его значение - 351059167 и 2)sessionid его значение у меня содержится в строке session

Решение задачи: «.NET 4.x Как отправить POST запрос с параметрами и куками?»

textual
Листинг программы
public bool GetPayInfo(ref Dictionary<string, PayInfo> payInfo)
        {
            HttpWebRequest request;
            HttpWebResponse responce = null;
            StreamReader responceStream = null;
 
            try
            {
                request = (HttpWebRequest)WebRequest.Create(@"https://ssl.coinmine.pw/api.php");
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                byte[] binData = Encoding.UTF8.GetBytes("method=payinfo&apikey=" + regInfo.CMinePayAPIKey + "&account=" + regInfo.CMineLogin);
                request.ContentLength = binData.Length;
 
 
                using (Stream postStream = request.GetRequestStream())
                {
                    postStream.Write(binData, 0, binData.Length);
                    postStream.Close();
                }
 
                responce = (HttpWebResponse)request.GetResponse();
                responceStream = new StreamReader(responce.GetResponseStream());
                string responceString = responceStream.ReadToEnd();
 
                if (responceString.Length < 24)
                {
                    This.WriteToLog("Ошибка сервера 'ssl.coinmine.pw'. Проверьте настройки аккаунта, либо состояние счета.");
                    return false;
                }
                if (!ResponceError(responceString)) return false;
 
                payInfo = (Dictionary<string, PayInfo>)JsonConvert.DeserializeObject<Dictionary<string, PayInfo>>(responceString);
 
                return true;
            }
            catch (Exception error) { This.WriteToLog(error.ToString()); return false; }
            finally
            {
                if (responce != null) responce.Close();
                if (responceStream != null) responceStream.Close();
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы