Я пишу свой собственный гусеничный продукт. Теперь есть веб-сайт по продаже товаров, который использует данные постов для страниц. Мне действительно нужно иметь возможность размещать данные и читать ответ. Но они используют проверку asp.net, и это так запутано. Я действительно не мог понять, как правильно размещать данные и читать. Я использую htmlagilitypack. Если есть возможность опубликовать данные с помощью htmlagilitypack и прочитать ответ, это будет действительно здорово.
Теперь это пример страницы: http://www.hizlial.com/HizliListele.aspx?CatID=482643
Когда вы открыли страницу, посмотрите на класс "urun_listele"
Там вы увидите варианты
20 Ürün Listele
40 Ürün Listele
60 Ürün Listele
Tümünü Listele
Эти цифры являются счетчиками продуктов, которые будут отображаться. Tümünü listele означает список всех продуктов. Теперь мне действительно нужно опубликовать данные и получить все продукты этой категории. Я использовал Firebug для отладки и попытался написать код ниже, но я все еще получил количество продуктов по умолчанию
private void button11_Click(object sender, RoutedEventArgs e)
{
StringBuilder srBuilder = new StringBuilder();
AppendPostParameter(srBuilder, "ctl00$ContentPlaceHolder1$cmbUrunSayi", "full");
srBuilder = srBuilder.Replace("&", "", srBuilder.Length - 1, 1);
byte[] byteArray = Encoding.UTF8.GetBytes(srBuilder.ToString());
HttpWebRequest hWebReq = (HttpWebRequest)WebRequest.Create("http://www.hizlial.com/HizliListele.aspx?CatID=482643");
hWebReq.Method = "POST";
hWebReq.ContentType = "application/x-www-form-urlencoded";
using (Stream requestStream = hWebReq.GetRequestStream())
{
requestStream.Write(byteArray, 0, byteArray.Length);
}
HtmlDocument hd = new HtmlDocument();
using (HttpWebResponse response = (HttpWebResponse)hWebReq.GetResponse())
{
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
var htmlstring = sr.ReadToEnd();
}
}
}
static private void AppendPostParameter(StringBuilder sb, string name, string value)
{
sb.AppendFormat("{0}={1}&", name, HttpUtility.UrlEncode(value));
}
После того, как я получу данные, я загружу их в htmlagilitypack HtmlDocument
Любая помощь приветствуется.
C # 4.0, приложение wpf, htmlagiltiypack