Я попробовал много способов решить эту проблему, но мне не удалось. Не могли бы вы сказать мне, где/что я делаю не так?
Код:
Код: Выделить всё
[WebMethod]
public string eNabavki2()
{
WebClient client = new WebClient();
client.Encoding = Encoding.UTF8;
string htmlCode = client.DownloadString("https://site.com/Default.aspx");
string vsk = getBetween(htmlCode, "id=\"__VIEWSTATEKEY\" value=\"", "\" />");
WebRequest request = WebRequest.Create("https://site.com/Default.aspx");
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
var webRequest = (HttpWebRequest)request;
webRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0"; //Googlebot/2.1 (+http://www.googlebot.com/bot.html)
//set form data
string postData = string.Format("__EVENTTARGET={0}" +
"&__EVENTARGUMENT={1}" +
"&__LASTFOCUS={2}"+
"&__VIEWSTATEKEY={3}"+
"&__VIEWSTATE={4}"+
"&__SCROLLPOSITIONX={5}"+
"&__SCROLLPOSITIONY={6}"+
"&ctl00$ctl00$cphGlobal$cphPublicAccess$publicCFTenders$dgPublicCallForTender$ctl13$ddlPageSelector={7}",
System.Web.HttpUtility.UrlEncode("ctl00$ctl00$cphGlobal$cphPublicAccess$publicCFTenders$dgPublicCallForTender$ctl13$ddlPageSelector"),
/*1*/string.Empty,
/*2*/string.Empty,
/*3*/string.Empty,//vsk
/*4*/string.Empty,
/*5*/"0",
/*6*/"383",
/*7*/"2");
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
//send the form data to the request stream
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
var response = request.GetResponse();
// Get the stream containing content returned by the server.
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
// Clean up the streams.
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
}
Также я заметил, что в html-коде есть __VIEWSTATEKEY, который каждый раз получает другое значение. Вы можете видеть, что сначала я попытался получить это значение из html (строка vsk), но это ничего не изменило.
Извините, но это не так. знаком с этим сообщением/запросом. Но мне это нужно для проекта для университета, поэтому, пожалуйста, если кто-нибудь может помочь мне решить эту проблему....
Редактировать:
Вот prt scr о том, что Fidler дает мне для заголовков:

< /п>
Подробнее здесь: https://stackoverflow.com/questions/177 ... ck-a-value