Hala çözüm bulamadıysan direk kodu vermeyeyim ama bir yol göstereyim.
Öncelikle sayfaya gönderilen form değerlerinin isimlerine bak,
Projene System.IO, System.Net Namespace lerini dahil et.
Örnek bir uygulamayı 2.0 için aşağıda kodladım Nerede kullanacağını bilmediğim için class tipinde değil direk kod olarak veriyorum. Kullanacağın siteyi pek incelemedim, içerik asp.net in doğası olarak sunucu taraflı session state veya istemci taraflı cookie ler ile korunuyor olabilir. Bu durumlarda öncelikle sayfanın header bilgilerini WebHeaderCollection ile al ve webResponse ye ekle. Bu arada unutmadan Msxml2.XMLHTTP gibi .net framework ile uzaktan yakından alakası olmayan asp den devreden bileşenleri net ortamında kullanma, ciddi performans sorunları yaratır. Çünkü bunlar ilk çalışma (derleme-compiler) esnasında Msil e çevrilmezler.
{
object Durum = "0";
object Icerik;
//Post edilecek adres
object SiteUrl = "http://siteadresi.com/form.aspx";
//Post degerleri
object FormDegerleri = "adi=mehmet&soyadi=mehmet";
// Sayfada deger alinacak ilk string
object BaslanacakString = "<strong>";
// Sayfada deger aliminin sonlandirilacagi string
object BitirilecekString = "<strong>";
// Sayfaya Post ediyoruz
WebRequest webRequest = webRequest.Create(SiteUrl);
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(FormDegerleri);
Stream os = null;
try {
webRequest.ContentLength = bytes.Length;
os = webRequest.GetRequestStream();
os.Write(bytes, 0, bytes.Length);
}
catch (WebException ex) {
Durum = "0";
}
finally {
if (os != null) {
os.Close();
}
}
// Sayfaya Post ediyoruz Son
// Gelen bilgiyi degerlendiriyoruz
try {
WebResponse webResponse = webRequest.GetResponse();
if (webResponse == null) {
Durum = "0";
}
StreamReader sr = new StreamReader(webResponse.GetResponseStream());
object Gecici = sr.ReadToEnd().Trim();
object Baslangic = Strings.InStr(1, Strings.LCase(Gecici), BaslanacakString, 1) + Strings.Len(BaslanacakString);
object Genislik = Strings.InStr(Baslangic, Gecici, BitirilecekString, 1) - Baslangic;
try {
Icerik = Strings.Mid(Gecici, Baslangic, Genislik);
}
catch {
Durum = "0";
}
}
catch (WebException ex) {
Durum = "0";
}
// Gelen bilgiyi degerlendiriyoruz Son
// Icerigi yaziyoruz
if (Durum != "0") {
Response.Write(Icerik);
}
else {
Response.Write("hata olustu");
}
// Icerigi yaziyoruz Son
}Fazla derine inmemek için hata kodlarını almadım dilersen Try Catch içerisinde ex.Message ile hata kodlarınıda alabilirsin.
Umarım yardımcı olmuşumdur