benzinlikteki genç adam

çekil git lan şeytan!


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.

örnek olarak bebek.com'a giriş yapan bir PHP betiği

3 yorum a “cURL ile dotnet/aspx sayfalara veri gönderme”

  1.  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 :)

  2.  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?

  3.  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

Yorum yazmak sizin de hakkınız!