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

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

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

Пытаюсь так
Листинг программы
  1. //...
  2. private void sendRequest()
  3. {
  4. Cookie cookie1 = new Cookie();
  5. cookie1.Name = "name1";
  6. cookie1.Value = kuka2;
  7. cookie1.Domain = "domain.com";
  8. Cookie cookie2 = new Cookie();
  9. cookie2.Name = "name2";
  10. cookie2.Value = kuka1;
  11. cookie2.Domain = "domain.com";
  12. Cookie cookie3 = new Cookie();
  13. cookie3.Name = "name3";
  14. cookie3.Value = sessionID;
  15. cookie3.Domain = "domain.com";
  16. CookieContainer cont = new CookieContainer();
  17. cont.Add(cookie1);
  18. cont.Add(cookie2);
  19. cont.Add(cookie3);
  20. //ниже ошибка
  21. WebRequest rec = new WebRequest();
  22. }
ошибка 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
Листинг программы
  1. public bool GetPayInfo(ref Dictionary<string, PayInfo> payInfo)
  2.         {
  3.             HttpWebRequest request;
  4.             HttpWebResponse responce = null;
  5.             StreamReader responceStream = null;
  6.  
  7.             try
  8.             {
  9.                 request = (HttpWebRequest)WebRequest.Create(@"https://ssl.coinmine.pw/api.php");
  10.                 request.Method = "POST";
  11.                 request.ContentType = "application/x-www-form-urlencoded";
  12.                 byte[] binData = Encoding.UTF8.GetBytes("method=payinfo&apikey=" + regInfo.CMinePayAPIKey + "&account=" + regInfo.CMineLogin);
  13.                 request.ContentLength = binData.Length;
  14.  
  15.  
  16.                 using (Stream postStream = request.GetRequestStream())
  17.                 {
  18.                     postStream.Write(binData, 0, binData.Length);
  19.                     postStream.Close();
  20.                 }
  21.  
  22.                 responce = (HttpWebResponse)request.GetResponse();
  23.                 responceStream = new StreamReader(responce.GetResponseStream());
  24.                 string responceString = responceStream.ReadToEnd();
  25.  
  26.                 if (responceString.Length < 24)
  27.                 {
  28.                     This.WriteToLog("Ошибка сервера 'ssl.coinmine.pw'. Проверьте настройки аккаунта, либо состояние счета.");
  29.                     return false;
  30.                 }
  31.                 if (!ResponceError(responceString)) return false;
  32.  
  33.                 payInfo = (Dictionary<string, PayInfo>)JsonConvert.DeserializeObject<Dictionary<string, PayInfo>>(responceString);
  34.  
  35.                 return true;
  36.             }
  37.             catch (Exception error) { This.WriteToLog(error.ToString()); return false; }
  38.             finally
  39.             {
  40.                 if (responce != null) responce.Close();
  41.                 if (responceStream != null) responceStream.Close();
  42.             }
  43.         }

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


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

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

15   голосов , оценка 3.933 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы