- 擷取壓縮文本内容
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;
}
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();
private static string GetContent(string url){
Login();
CookieContainer cookieContainer = new CookieContainer();
cookieContainer.SetCookies(_authUri, _cookie);
return ResourceLoader.GetContent(url, cookieContainer);
}