获取压缩文本内容
public static string GetContent(string url, CookieContainer cookieContainer) { string content = null; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Headers.Set("Accept-Encoding", "gzip, deflate"); if (cookieContainer != null) { request.CookieContainer = cookieContainer; } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); Stream unzipStream = null; StreamReader streamReader = null; switch (response.ContentEncoding) { case "gzip": unzipStream = new GZipStream(responseStream, CompressionMode.Decompress); streamReader = new StreamReader(unzipStream); break; case "deflate": unzipStream = new DeflateStream(responseStream, CompressionMode.Decompress); streamReader = new StreamReader(unzipStream); break; default: streamReader = new StreamReader(responseStream); break; } content = streamReader.ReadToEnd(); streamReader.Close(); response.Close(); return content; }
2. 获取cookie内容
string sLoginURL = string.Format("{0}?username={1}&password={2}", sEXOI_LoginURL, sUserID, sPassWd); HttpWebRequest requestLogin = (HttpWebRequest)WebRequest.Create(sLoginURL); requestLogin.CookieContainer = new CookieContainer(); requestLogin.AllowAutoRedirect = false; HttpWebResponse responseLogin = (HttpWebResponse)requestLogin.GetResponse(); _cookie = responseLogin.Headers.Get("Set-Cookie"); _authUri = requestLogin.RequestUri; responseLogin.Close();
3. 设置cookie内容
private static string GetContent(string url){ Login(); CookieContainer cookieContainer = new CookieContainer(); cookieContainer.SetCookies(_authUri, _cookie); return ResourceLoader.GetContent(url, cookieContainer); }
转载于:https://blog.51cto.com/13713878410/1432454