.NET 4.x Как отправить POST запрос с параметрами и куками? - C#
Формулировка задачи:
Пытаюсь так
ошибка
Cannot create an instance of the abstract class or interface 'System.Net.WebRequest'
Почему она возникает? Кто-нибудь поможет помочь дописать код, чтобы отправлялся запрос на domain.com вместе с моими куками и 2-мя параметрами
1)id его значение - 351059167
и
2)sessionid его значение у меня содержится в строке session
//...
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();
}Решение задачи: «.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();
}
}