Erişmeye çalıştığınız web sayfasının Form Kimlik Doğrulaması'nı kullandığından şüpheleniyorum. Bu, korunan kaynaklara erişebilmek için geçerli bir kimlik doğrulama bilgisi sağlamanız gerektiği anlamına gelir. Geçerli bir kimlik doğrulama bilgisi almak için, öncelikle, çerezi yayınlayan LogOn sayfasına bir POST isteği göndererek kendinizi doğrulamanız gerekir. Tanımlama bilgisini aldıktan sonra, korunan kaynaklarla ilgili sonraki taleplerde gönderebilirsiniz. Ayrıca, WebClient
kutusunun kutusunun çerezleri desteklemediğini de unutmayın. nedeniyle ASP.NET ViewState crapiness için Açıkçası
using (var client = new CookieAwareWebClient())
{
var values = new NameValueCollection
{
{ "username", "john" },
{ "password", "secret" },
};
client.UploadValues("http://domain.loc/logon.aspx", values);
// If the previous call succeeded we now have a valid authentication cookie
// so we could download the protected page
string result = client.DownloadString("http://domain.loc/testpage.aspx");
}
:
public class CookieAwareWebClient : WebClient
{
public CookieAwareWebClient()
{
CookieContainer = new CookieContainer();
}
public CookieContainer CookieContainer { get; private set; }
protected override WebRequest GetWebRequest(Uri address)
{
var request = (HttpWebRequest)base.GetWebRequest(address);
request.CookieContainer = CookieContainer;
return request;
}
}
Artık 2 istekleri ateşlemesi için bu istemci kullanabilirsiniz: Bu nedenle özel bir çerez farkında web istemcisi yazabilirsiniz Oturum açma isteğinizde birkaç tane başka parametre göndermeniz gerekebilir. İşte yapabilecekleriniz: bir web tarayıcısında kimlik doğrulaması yapın ve FireBug ile gönderilmesi gereken tam parametreleri ve başlıklara bakın.
Neden sadece bu sayfaya yönlendirmiyorsunuz? Sunucu işleminde kod kullanarak indirdiğinizde, * aynı kimlik bilgilerinin * kullanılmadığı anlamına gelir. Eğer sayfayı (istemcinin kimlik bilgisiyle) doğru bir şekilde doğru bir şekilde anlarsam, sayfaya erişirsek, farklı bir makinede (sunucu) farklı bir işlem indiriyor ve müşteriye sunuyor! – shambulator
Bu kimlik bilgileri web sayfasına nasıl sağlanıyor? Form Kimlik Doğrulaması kullanıyor mu? –
@shambulator Bu sayfaya yönlendirerek ne demek istiyorsun? Bu sayfanın html kodunu almaya çalışıyorum. – mko