Dneska to bude velice krátké, ale doufejme smyslu plné a budeme se zabývat stažením obsahu z internetu přes http protokol.
Pokud chceme stáhnout programově nějaký obsah z internetu, tak to není problém a způsobů je několik. Jedním z nich je použití objektů HttpWebRequest a HttpWebResponse ze jmeného prostoru System.Net. Příklad stažení obsahu webové stránky je zde:
HttpWebRequest httpRequest = (HttpWebRequest)HttpWebRequest.Create(@"http://www.hrncir.info");
HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
Stream stStream = httpResponse.GetResponseStream();
StreamReader strReader = new StreamReader(stStream);
string sResult = strReader.ReadToEnd();
httpRequest.Abort();
httpResponse.Close();
Nicméně pokud se bude jednat o obsah zabezpečený, tento způsob nám nebude nic platný. V ten okamžik ale můžeme standartnímu serverovému zabezpečení vyhovět tím, že přidáme požadované pověření. Pro změnu si v příkladu stáhněme XML dokument ze zabezpečené složky na serveru kdesi na internetu:
HttpWebRequest httpRequest = (HttpWebRequest)HttpWebRequest.Create(@"http://www.hrncir.info/protected/document.xml");
httpRequest.Credentials = new NetworkCredential("username", "password");
HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
Stream stStream = httpResponse.GetResponseStream();
XmlDocument xdXml = new XmlDocument();
xdXml.Load(stStream);
httpRequest.Abort();
httpResponse.Close();
Na závěr jenom zmíním alternativu k tomuto způsobu stahování dat a to objekt WebClient ze jmeného prostoru System.Net ,který umožňuje to samé co dnešní příklady a ještě mnoho dalšího.
Žádné komentáře:
Okomentovat