Http CLASS

来源:互联网 发布:mysql数字占几个字符 编辑:程序博客网 时间:2024/06/06 16:55
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Net;
  5. using System.Text;
  6. namespace LoginSdoDemo
  7. {
  8.     class Http
  9.     {
  10.         public static string GetHtml(string URL)
  11.         {
  12.             WebRequest wrt;
  13.             wrt = WebRequest.Create(URL);
  14.             wrt.Credentials = CredentialCache.DefaultCredentials;
  15.             WebResponse wrp;
  16.             wrp = wrt.GetResponse();
  17.             return new StreamReader(wrp.GetResponseStream(), Encoding.UTF8).ReadToEnd();
  18.         }
  19.         public static string GetHtml(string URL, out string cookie)
  20.         {
  21.             WebRequest wrt;
  22.             wrt = WebRequest.Create(URL);
  23.             wrt.Credentials = CredentialCache.DefaultCredentials;
  24.             WebResponse wrp;
  25.             wrp = wrt.GetResponse();
  26.             string html = new StreamReader(wrp.GetResponseStream(), Encoding.UTF8).ReadToEnd();
  27.             cookie = wrp.Headers.Get("Set-Cookie");
  28.             return html;
  29.         }
  30.         public static string GetHtml(string URL, string postData, string cookie, out string header)
  31.         {
  32.             return GetHtml("http://passport.csdn.net", URL, postData, cookie, out header);
  33.         }
  34.         public static string GetHtml(string server, string URL, string postData, string cookie, out string header)
  35.         {
  36.             byte[] byteRequest = Encoding.Default.GetBytes(postData);
  37.             return GetHtml(server, URL, byteRequest, cookie, out header);
  38.         }
  39.         public static string GetHtml(string server, string URL, byte[] byteRequest, string cookie, out string header)
  40.         {
  41.             byte[] bytes = GetHtmlByBytes(server, URL, byteRequest, cookie, out header);
  42.             Stream getStream = new MemoryStream(bytes);
  43.             StreamReader streamReader = new StreamReader(getStream, Encoding.UTF8);
  44.             string getString = streamReader.ReadToEnd();
  45.             streamReader.Close();
  46.             getStream.Close();
  47.             return getString;
  48.         }
  49.         public static byte[] GetHtmlByBytes(string server, string URL, byte[] byteRequest, string cookie,out string header)
  50.         {
  51.             long contentLength;
  52.             HttpWebRequest httpWebRequest;
  53.             HttpWebResponse webResponse;
  54.             Stream getStream;
  55.             httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(URL);
  56.             CookieContainer co = new CookieContainer();
  57.             co.SetCookies(new Uri(server), cookie);
  58.             httpWebRequest.CookieContainer = co;
  59.             httpWebRequest.ContentType = "application/x-www-form-urlencoded";
  60.             httpWebRequest.Accept =
  61.                 "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
  62.             httpWebRequest.Referer = "http://passport.csdn.net";
  63.             httpWebRequest.UserAgent =
  64.                 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";
  65.             httpWebRequest.Method = "Post";
  66.             httpWebRequest.ContentLength = byteRequest.Length;
  67.             Stream stream;
  68.             stream = httpWebRequest.GetRequestStream();
  69.             stream.Write(byteRequest, 0, byteRequest.Length);
  70.             stream.Close();
  71.             webResponse = (HttpWebResponse)httpWebRequest.GetResponse();
  72.             header = webResponse.Headers.ToString();
  73.             getStream = webResponse.GetResponseStream();
  74.             contentLength = webResponse.ContentLength;
  75.             byte[] outBytes = new byte[contentLength];
  76.             outBytes = ReadFully(getStream);
  77.             getStream.Close();
  78.             return outBytes;
  79.         }
  80.         public static byte[] ReadFully(Stream stream)
  81.         {
  82.             byte[] buffer = new byte[128];
  83.             using (MemoryStream ms = new MemoryStream())
  84.             {
  85.                 while (true)
  86.                 {
  87.                     int read = stream.Read(buffer, 0, buffer.Length);
  88.                     if (read <= 0)
  89.                         return ms.ToArray();
  90.                     ms.Write(buffer, 0, read);
  91.                 }
  92.             }
  93.         }
  94.         public static string GetHtml(string URL, string cookie, out string header)
  95.         {
  96.             return GetHtml(URL, cookie, out header, "http://passport.csdn.net");
  97.         }
  98.         public static string GetHtml(string URL, string cookie, out string header, string server)
  99.         {
  100.             HttpWebRequest httpWebRequest;
  101.             HttpWebResponse webResponse;
  102.             Stream getStream;
  103.             StreamReader streamReader;
  104.             string getString = "";
  105.             httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(URL);
  106.             httpWebRequest.Accept = "*/*";
  107.             httpWebRequest.Referer = "http://passport.csdn.net";
  108.             CookieContainer co = new CookieContainer();
  109.             co.SetCookies(new Uri(server), cookie);
  110.             httpWebRequest.CookieContainer = co;
  111.             httpWebRequest.UserAgent =
  112.                 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";
  113.             httpWebRequest.Method = "GET";
  114.             webResponse = (HttpWebResponse)httpWebRequest.GetResponse();
  115.             header = webResponse.Headers.ToString();
  116.             getStream = webResponse.GetResponseStream();
  117.             streamReader = new StreamReader(getStream, Encoding.UTF8);
  118.             getString = streamReader.ReadToEnd();
  119.             
  120.             streamReader.Close();
  121.             getStream.Close();
  122.             return getString;
  123.         }
  124.         #region --stream--
  125.         public static Stream GetStreamByBytes(string server, string URL, byte[] byteRequest, string cookie,
  126.                                               out string header)
  127.         {
  128.             Stream stream = new MemoryStream(GetHtmlByBytes(server, URL, byteRequest, cookie, out header));
  129.             return stream;
  130.         }
  131.         #endregion
  132.     }
  133. }
原创粉丝点击