Часть кода, которая фактически выполняет веб-запрос, скрыта довольно глубоко, поэтому вам придется наследовать кучу кода, чтобы выполнить то, что вы просили. Вместо этого позвольте мне предложить другой путь, скачать XML самостоятельно с кодом, который легко установить, и затем загрузить его в набор данных. Класс WebClient
позволяет вам устанавливать произвольные заголовки и имеет простой метод DownloadString
. Получив это, вы можете обернуть его в MemoryStream
и передать в ReadXml()
. (Я не смог найти способ прочитать XML как строку, поэтому я был вынужден прочитать его как Stream
.)
''//Will hold our downloaded XML
Dim MyXml As String
''//Create a webclient to download our XML
Using WC As New System.Net.WebClient()
''//Manually set the user agent header
WC.Headers.Add("user-agent", "your user agent here")
''//Download the XML
MyXml = WC.DownloadString("http://localhost/user_agent.php")
End Using
''//Create our dataset object
Dim RssData As New DataSet()
''//There is no direct method to load XML as a string (at least that I could find) so we will
''// convert it to a byte array and load it into a memory stream
Dim Bytes As Byte() = System.Text.Encoding.UTF8.GetBytes(MyXml)
Using MS As New System.IO.MemoryStream(Bytes)
''//Load the stream into the reader
RssData.ReadXml(MS)
End Using
''//Your code continues normally here