Pro získání dat doporučuji třídu WebRequest nebo HttpWebRequest, ta se dá používat takto:
Dim req As HttpWebRequest = HttpWebRequest.Create(vaseurl)
Dim rdr As New StreamReader(req.GetResponse.GetResponseStream)
Dim vysledek As String = rdr.ReadToEnd
rdr.Close()
Na proxy je pamatováno podobně jako u streamu:
req.Proxy = proxy
Co se týče proxy, doporučuji používat tento konstruktor:
Dim proxy As New WebProxy(myProxyName.Text, CInt(myProxyPort.Text))
Pro zpracování Vám doporučuji, abyste používal metodu DataSet.ReadXml(). Ta akceptuje dokonce i samotný stream. Celkový kód potom tedy bude vypadat takto:
Dim req As HttpWebRequest = HttpWebRequest.Create(vaseurl)
Dim ds As New DataSet()
If myProxyEnable.Checked Then
Dim nc As New NetworkCredential(myLogin.Text, myPassword.Text, myDomain.Text)
Dim proxy As New WebProxy(myProxyName.Text, CInt(myProxyPort.Text))
proxy.Credentials = nc
req.Proxy = proxy
End If
Try : ds.ReadXml(req.GetResponse.GetResponseStream)
Catch ex As Exception : MsgBox(ex.Message)
Finally
'tady přijde zpracování načteného DataSetu
End Try
Zpracování samotného datasetu si už musíte odkrokovat sám, tady záleží hlavně na struktuře samotného XML... Jenom pokud jsou stahovaná data objemnější, doporučují stahovat asynchroně (pomocí req.BeginGetResponse()) - viz http://www.developerfusion.co.uk/show/46... při normálním synchroním stahování většího obsahu by se totiž do doby stažení celého obsahu mohla aplikace "hryznout".... Hodně štěstí
|