1. 程式人生 > >C#模擬http 傳送POST或GET請求

C#模擬http 傳送POST或GET請求

1、POST:   private string HttpPost(string Url, string postDataStr, CookieCollection cookies)         {             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);             request.Method = "POST";             request.ContentType = "application/x-www-form-urlencoded";             request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
            if (cookies != null)             {                 request.CookieContainer = new CookieContainer();                 request.CookieContainer.Add(cookies);             }             Stream myRequestStream = request.GetRequestStream();             StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
            myStreamWriter.Write(postDataStr);             myStreamWriter.Close();             HttpWebResponse response = (HttpWebResponse)request.GetResponse();             response.Cookies = cookie.GetCookies(response.ResponseUri);             Stream myResponseStream = response.GetResponseStream();
            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));             string retString = myStreamReader.ReadToEnd();             myStreamReader.Close();             myResponseStream.Close();             return retString;         } 2、GET:         public string HttpGet(string Url, string postDataStr)         { HttpWebResponse response = null;             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (string.IsNullOrEmpty(postDataStr) ? "" : "?") +     postDataStr); request.Timeout = 30000; // 設定超時時間,單位毫秒。預設100000毫秒,100秒             try             {
            request.Method = "GET";             request.ContentType = "text/html;charset=UTF-8";
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
            response = (HttpWebResponse)request.GetResponse();             Stream myResponseStream = response.GetResponseStream();             StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));             string retString = myStreamReader.ReadToEnd();
                  myStreamReader.Close();
 myStreamReader.Dispose();
                  myResponseStream.Close();                   myResponseStream.Dispose();                   return retString ;             } catch(Exception ex){                 Console.WriteLine(ex.ToString());             } finally{                 if (response != null)
{
response.Close();
}
            }             return "false";         }