Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public string GetPageContent(string url)
- {
- string userName = null;
- SecureString password = null;
- var request = (HttpWebRequest)WebRequest.Create(url);
- var retry = true;
- var needAuth = false;
- while (retry)
- {
- try
- {
- if (needAuth && !string.IsNullOrWhiteSpace(userName))
- {
- request.Credentials = new NetworkCredential(userName, password ?? new SecureString());
- }
- var resp = (HttpWebResponse)request.GetResponse();
- using (var stream = resp.GetResponseStream())
- using (var reader = new StreamReader(stream))
- {
- return reader.ReadToEnd();
- }
- }
- catch (WebException e)
- {
- if (((HttpWebResponse)e.Response).StatusCode == HttpStatusCode.Unauthorized)
- {
- var args = new HttpExchangerNeedAuthEventArgs();
- if (NeedAuth != null)
- {
- NeedAuth.Invoke(this, args);
- if (args.Cancel)
- throw new WebException("Ошибка авторизаций");
- userName = args.UserName;
- password = args.Password;
- }
- else
- throw new WebException("Ошибка авторизаций");
- needAuth = true;
- }
- else
- throw new WebException("Ошибка авторизаций");
- }
- }
- throw new WebException("Ошибка авторизаций");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement