asp.net, formlarda sürekli hidden inputlar içerisinde __VIEWSTATE ve __EVENTVALIDATION değerleri saklıyor. bunlar her istekte değişiyor.
aspx bir sayfaya POST yapacaksanız, ilk önce anasayfaya bir istek yapıp session bilgilerinizi almanız, bu ilk istekte yukarıdaki değişkenlerin değerlerini almanız gerekiyor.
|<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="(.*?)" />|
gibi bir regEx deseni ile alıp, değeri urlencode() fonksiyonundan geçirmeniz gerekiyor. Zira, benim denemememde 23307 karakter olan(!) bu değerin içinde + gibi karakterler var. Veri yollanırken + karakterleri boşluk haline geçtiği için, invalid viewstate şeklinde hata mesajı alıyorsunuz. Dolayısıyla urlencode() gerekli.
İkinci istekte de - asıl istekte - birinci istekteki session bilgilerini de kullanmanız gerekli.
ekleniyor..
Arnis | Şubat 18, 2008 @ 00:52
VB6 ile bir siteye post yapmak istiyorum işin açıkcası hergün verileri el ile tek tek girmekten iş gününde diğer işlere vakit ayıramıyorum.Yardımcı olabilirmisiniz.Cevap Evet ise buraya yazayım kodları değil ise kirletmiyim blog’u kodlar ile
Ahmet Tombak | Şubat 24, 2008 @ 11:54
Sayın Yns, betiği kullanarak
osyspuanlari.osym.gov.tr/tablo4.aspx adresinden veri almak istiyorum. betikte belirtilen alanları post etmeye çalıştım başaramadım. Sanırım post verisini göndermekte hata yapıyorum.
$post = “ctl00\$Uyelikgiris1\$TxtUser=email@gmail.com&ctl00\$Uyelikgiris1\$TxtPass=parola&__VIEWSTATE=$deger&__EVENTARGUMENT=&__EVENTTARGET=&__EVENTVALIDATION=$deger2&ctl00\$Uyelikgiris1\$BtnOnay.x=23&ctl00\$Uyelikgiris1\$BtnOnay.y=21″;
verisindeki name(post edilen) sabitleri nelerdir?
Ahmet TOMBAK | Şubat 25, 2008 @ 23:01
Yns hocam “cURL ile dotnet/aspx sayfalara veri gönderme” ile ilgili mail göndermiştim size. Müsaitseniz yardımcı olabilir misiniz? KOlay gelsin