C# można uzyskać na trzy sposoby: WebClient, WebRequest oraz HttpWebRequest.
Oczywiście możesz też użyć webBrowse! Nie będę się zastanawiać, jak webBrowse tu się rozwija.
WebClient
prywatny ciąg GetWebClient(string url)
{ string strHTML = ""; WebClient myWebClient = nowy WebClient(); Stream myStream = myWebClient.OpenRead(url); StreamReader sr = nowy StreamReader(myStream, System.Text.Encoding.GetEncoding("utf-8")); strHTML = sr. ReadToEnd(); myStream.Close(); return strHTML;
} WebRequest
private string GetWebRequest (string url)
{ Uri uri = nowy Uri(url); WebRequest myReq = WebRequest.Create(uri); Wynik WebResponse = myReq.GetResponse(); Stream receviceStream = wynik. GetResponseStream(); StreamReaderOfStream = nowy StreamReader(receviceStream, System.Text.Encoding.GetEncoding("utf-8")); string strHTML = readerOfStream.ReadToEnd(); readerOfStream.Close(); receviceStream.Close(); wynik. Close(); return strHTML;
} HttpWebRequest
private string GetHttpWebRequest (string url)
{ Uri uri = nowy Uri(url); HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(uri); myReq.UserAgent = "User-Agent:Mozilla/4.0 (kompatybilny; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705"; myReq.Accept = "*/*"; myReq.KeepAlive = prawdziwe; myReq.Headers.Add("Accept-Language", "zh-cn,en-us; q=0,5"); HttpWebResponse result = (HttpWebResponse)myReq.GetResponse(); Stream receviceStream = wynik. GetResponseStream(); StreamReaderOfStream = nowy StreamReader(receviceStream, System.Text.Encoding.GetEncoding("utf-8")); string strHTML = readerOfStream.ReadToEnd(); readerOfStream.Close(); receviceStream.Close(); wynik. Close(); return strHTML;
} Należy zauważyć, że "UTF-8" powinno odpowiadać kodowaniu określonej strony internetowej.
streszczenie
Widać, że metoda HttpWebRequest jest najbardziej złożona, ale oferuje większy wybór.
|