Advertisement
Guest User

Untitled

a guest
Sep 7th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. public string GetPageContent(string url)
  2. {
  3. string userName = null;
  4. SecureString password = null;
  5. var request = (HttpWebRequest)WebRequest.Create(url);
  6. var retry = true;
  7. var needAuth = false;
  8. while (retry)
  9. {
  10. try
  11. {
  12. if (needAuth && !string.IsNullOrWhiteSpace(userName))
  13. {
  14. request.Credentials = new NetworkCredential(userName, password ?? new SecureString());
  15. }
  16.  
  17. var resp = (HttpWebResponse)request.GetResponse();
  18. using (var stream = resp.GetResponseStream())
  19. using (var reader = new StreamReader(stream))
  20. {
  21. return reader.ReadToEnd();
  22. }
  23. }
  24. catch (WebException e)
  25. {
  26. if (((HttpWebResponse)e.Response).StatusCode == HttpStatusCode.Unauthorized)
  27. {
  28. var args = new HttpExchangerNeedAuthEventArgs();
  29. if (NeedAuth != null)
  30. {
  31. NeedAuth.Invoke(this, args);
  32. if (args.Cancel)
  33. throw new WebException("Ошибка авторизаций");
  34. userName = args.UserName;
  35. password = args.Password;
  36. }
  37. else
  38. throw new WebException("Ошибка авторизаций");
  39. needAuth = true;
  40. }
  41. else
  42. throw new WebException("Ошибка авторизаций");
  43. }
  44. }
  45. throw new WebException("Ошибка авторизаций");
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement