Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сохранить содержание ASP страницы в файл / 8 сообщений из 8, страница 1 из 1
11.01.2016, 10:06
    #39144279
valex13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержание ASP страницы в файл
Подскажите, как мне на сервере сохранить содержание страницы ASP в html файл. Аналог того, как это делают браузеры.
Язык программирования C#, VB.net (без разницы).
...
Рейтинг: 0 / 0
11.01.2016, 10:49
    #39144324
valex13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержание ASP страницы в файл
Написал примерно следующее. Но проблема в том, что IIS требует авторизации и в итоге сохраняется страница авторизации.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
                Dim strUri As String = Page.ResolveUrl("~/BAdmin/Print_Account.aspx?Number=" + objRow("Number").ToString.Trim)
                strUri = (New Uri(Request.Url, strUri)).AbsoluteUri

                Dim objRequest As HttpWebRequest = WebRequest.Create(strUri)
                Dim objResponse As HttpWebResponse = objRequest.GetResponse()

                Dim objReader As StreamReader = New StreamReader(objResponse.GetResponseStream())
                Dim strHtmlCode As String = objReader.ReadToEnd()

                File.WriteAllText(strFileName + ".html", strHtmlCode)
...
Рейтинг: 0 / 0
11.01.2016, 11:06
    #39144344
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержание ASP страницы в файл
...
Рейтинг: 0 / 0
11.01.2016, 11:17
    #39144358
valex13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержание ASP страницы в файл
Использую FormsAuthentication.
Не могу понять, где мне взять ICredentials?

CredentialCache.DefaultCredentials - у меня пустой.
...
Рейтинг: 0 / 0
11.01.2016, 11:53
    #39144402
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержание ASP страницы в файл
valex13,
Что вводится на странице авторизации? Как она вообще построена?
...
Рейтинг: 0 / 0
11.01.2016, 11:59
    #39144415
valex13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержание ASP страницы в файл
Обычная страница с логин и паролем.
При нажатии на кнопку "Логин" вызываем :
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
    Private Sub CheckUserRight()
        ErrorMessage("")

        Page.Validate()
        If (Not Page.IsValid) Then Return

        If Barnet.BarnetUsers.Authenticate(strUserName.Text, strPassword.Text) Then
            FormsAuthentication.SetAuthCookie(strUserName.Text.Trim, True)


            Dim objTicket As FormsAuthenticationTicket
            Dim strCokies As String = ""

            objTicket = New FormsAuthenticationTicket(1, strUserName.Text.Trim, DateTime.Now, DateTime.Now.AddMinutes(40), False, "Barnet Portal Custom Data")
            Dim objCookie As HttpCookie
            strCokies = FormsAuthentication.Encrypt(objTicket)
            objCookie = New HttpCookie(FormsAuthentication.FormsCookieName, strCokies)

            If (chkPersistCookie.Checked) Then
                objCookie.Expires = objTicket.Expiration
                objCookie.Path = FormsAuthentication.FormsCookiePath
                Response.Cookies.Add(objCookie)
            End If

            Dim strRedirect As String = Request("ReturnUrl")
            If (strRedirect Is Nothing) Then
                ' Авторизация из главной страницы
                Dim strDefaultRedirectUrl As String = ""
                If (Barnet.BarnetUsers.IsInRole(strUserName.Text.Trim, "manager")) Then
                    strDefaultRedirectUrl = "~/BAdmin/Default.aspx"
                End If

                If (Barnet.BarnetUsers.IsInRole(strUserName.Text.Trim, "client")) Then
                    strDefaultRedirectUrl = "~/BPortal/Default.aspx"
                End If


                If (strDefaultRedirectUrl.Trim = "") Then
                    ErrorMessage("Для Вас доступ к системе персонально закрыт!. Обратитесь к администратору системы.")
                    Return
                End If

                Response.Redirect(strDefaultRedirectUrl.Trim, True)
            Else
                Response.Redirect(strRedirect, True)
            End If

        Else
            ErrorMessage("Указанный пользователь не обнаружен в системе или не правильно указан пароль!")
        End If
    End Sub



Barnet.BarnetUsers.Authenticate - Это собственный метод, возвращает true или false
В Web.Config
Код: xml
1.
2.
3.
4.
5.
6.
<!--Тип авторизации в системе-->
    <authentication mode="Forms">
      <forms name=".ASPXFORMSAUTH" loginUrl="~/Logon.aspx" protection="All" timeout="10" path="/" slidingExpiration="true" cookieless="AutoDetect" defaultUrl="~/index.html"></forms>
    </authentication>
    <roleManager enabled="true" cacheRolesInCookie="true" cookieProtection="All" />
    
...
Рейтинг: 0 / 0
12.01.2016, 04:21
    #39145063
valex13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержание ASP страницы в файл
Для потомков )
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
                Dim strLocalUri As String = Page.ResolveUrl(strAccountUrl)
                Dim strUri As String = (New Uri(Request.Url, strLocalUri)).AbsoluteUri

                Dim objRequest As HttpWebRequest = WebRequest.Create(strUri)
                objRequest.Method = "POST"
                objRequest.AllowWriteStreamBuffering = True

                objRequest.CookieContainer = New CookieContainer()
                Dim objCookie As HttpCookie = Request.Cookies(FormsAuthentication.FormsCookieName)
                objRequest.CookieContainer.Add(New Cookie(objCookie.Name, objCookie.Value, objCookie.Path, "localhost"))

                Dim objResponse As HttpWebResponse = objRequest.GetResponse()
                Dim objReader As StreamReader = New StreamReader(objResponse.GetResponseStream(), True)
                Dim strHtmlCode As String = objReader.ReadToEnd()



                File.WriteAllText(strFileName + ".html", strHtmlCode, Encoding.UTF8)
                objReader.Close()
...
Рейтинг: 0 / 0
12.01.2016, 11:29
    #39145260
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержание ASP страницы в файл
valex13,
Слабовато! Помни о IDisposable!
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сохранить содержание ASP страницы в файл / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]