сертификат и отправка данных C#

Тема в разделе ".NET", создана пользователем fen0men, 30 июл 2008.

  1. fen0men

    fen0men Гость

    Привет! Нужна помощь. Необходимо получить html-код странички, когда соединение защищено(https, SSL, сертификация). Есть страничка для авторизации(ввод логина и пароля), защищенная. Нужно POST'ом отправить логин, пароль, еще кое-какие данные на следующую страничку и получить ее html-код(следующей странички). Повторяю, соединение https. При следующем коде, возвращается html-код такой, как будто логин\пароль неправильные.
    Код (Text):
     string login="";
    string pass="";
    X509Certificate2 cert = findCertificate(StoreLocation.CurrentUser, StoreName.My, X509FindType.FindBySubjectName, "vpn-standard.harris.com");
    NetworkCredential myCred = new NetworkCredential(login, pass, "vpn-standard.harris.com");
    CredentialCache myCache = new CredentialCache();
    myCache.Add(new Uri("http://www.vpn-standard.harris.com/"), "Basic", myCred);  
    HttpWebResponse result = null;
    HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(lcUrl5);
    req.Method = "POST";
    req.ContentType = "application/x-www-form-urlencoded";
    req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14";
    req.CookieContainer = cookie_container;
    req.Referer = lcUrl1;
    req.Accept = "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
    req.ClientCertificates.Clear();
    req.ClientCertificates.Add(cert);
    req.Credentials = myCache;       
    byte[] SomeBytes = null;
    string FormParams = @"tz_offset=180&
    realm=Standard&
    btnSubmit=Sign+In";
    SomeBytes = Encoding.GetEncoding("utf-8").GetBytes(FormParams);
    req.ContentLength = SomeBytes.Length;
    Stream newStream = req.GetRequestStream();
    newStream.Write(SomeBytes, 0, SomeBytes.Length);
    newStream.Close();
    result = (HttpWebResponse)req.GetResponse();

    //Get Response
    Stream ReceiveStream = result.GetResponseStream();
    StreamReader sr = new StreamReader(ReceiveStream, encode);
    string html = sr.ReadToEnd();
    result.Close();
     
Загрузка...

Поделиться этой страницей