Member 12206403 Ответов: 3

Webbrowser не работает при размещении сайта


Я использовал объект webbrowser в своем asp.net код для извлечения контента с веб-сайтов. код работает абсолютно нормально при выполнении из visual studio, но после хостинга ответа нет. он показывает "подключение ..." на вкладке браузера и ничего не загружает! Я вставил свой код ниже для вашего понимания.

===========Код веб-браузера=============
Dim url As String = ""
url = "https://google.com/patents/" & ListBox1.SelectedItem.ToString()

Dim thread As New Thread(Sub()
                             Using browser As New WebBrowser()
                                 browser.ScrollBarsEnabled = False
                                 browser.ScriptErrorsSuppressed = True
                                 browser.AllowNavigation = True
                                 browser.Navigate(url)
                                 AddHandler browser.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf DocumentCompleted)
                                 While browser.ReadyState <> WebBrowserReadyState.Complete
                                     System.Windows.Forms.Application.DoEvents()
                                 End While
                             End Using
                         End Sub)
thread.SetApartmentState(ApartmentState.STA)
thread.Start()
thread.Join()
=====================================
    Private Sub DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs)
        Dim browser As WebBrowser = TryCast(sender, WebBrowser)
        Dim webCont As String = browser.Document.Body.InnerHtml
        PlaceHolder2.Controls.Add(New Literal() With {.Text = webCont})
    End Sub


Пожалуйста, помогите мне с хорошим решением..
Заранее спасибо

-СУРЬМА

Что я уже пробовал:

Пожалуйста, ознакомьтесь с приведенным выше кодом.

3 Ответов

Рейтинг:
1

Karthik_Mahalingam

использовать Html Agility Pack[^] для получения данных с сайта
Примечание: это один из методов.


Рейтинг:
0

F-ES Sitecore

Решение состоит в том, чтобы переписать свой код, чтобы не использовать элемент управления браузером. Вы можете получить доступ к html и т. д. Через класс WebClient и другие, но в конечном счете это зависит от того, что вы хотите сделать.

Класс WebClient (System.Net)[^]


Рейтинг:
0

Dave Kreskowiak

Вы не можете использовать элемент управления браузером в веб-приложении. Для правильной работы элемент управления браузером зависит от объекта формы приложения Windows Forms. Поскольку вы не можете иметь объект формы Windows Forms в ASP.NET приложение WebBrowser control не будет работать.

Вы должны использовать какой-то другой метод, например, с помощью класса WebClient, чтобы получить ваши данные.