Фон - сайт ASP .Net с аутентификацией пользователя. Страница является регулярным HTML с gridview, панелями, текстовыми полями, ярлыками, таблицами и т. Д.HTML to PDF issue
Я пытаюсь получить текущую веб-страницу, которую пользователь просматривает в PDF, используя бесплатную DLL iText.
У меня есть следующий код, который я думал бы сделал трюк:
Dim myRequest As HttpWebRequest = HttpWebRequest.Create(Request.Url)
myRequest.Credentials = New NetworkCredential("administrator", "password")
myRequest.Method = "GET"
Dim myResponse As WebResponse = myRequest.GetResponse
Dim sr As New StreamReader(myResponse.GetResponseStream, System.Text.Encoding.UTF8)
Dim result As String = sr.ReadToEnd
sr.Close()
myResponse.Close()
HTMLToPDF(result) ' "This line sends the HTML to be converted into a PDF"
К сожалению, это показывает страницу входа в систему с текстом (текст // если (TypeOf (Sys) === ' undefined ') throw new Error (' ASP.NET Ajax на стороне клиента не удалось выполнить load. '); // .style1 {width: 100%;} .style2 {width: 334px;} .style3 {width: 303px ;})
Поскольку сайт использует аутентификацию, я думаю, что происходит, когда запрос сделан, ему нужны имя пользователя и пароль, но, как вы можете видеть из приведенного выше код Я отправляю имя пользователя и пароль, чтобы узнать, будет ли это работать, но его нет.
Может ли кто-нибудь предложить способ решить этот или другие обходные пути?
Чтение * Ajax * в этом тексте заставляет меня предположить, что страница по существу сгенерирована на стороне клиента с использованием JavaScript. С другой стороны, ваш вызов 'HTMLToPDF', похоже, ожидает готового встроенного HTML-кода, а не только некоторого JavaScript. – mkl
Хорошо - эта ошибка ушла, но я все еще не могу пройти мимо бит аутентификации? – Computer