有時候測試 Web Service 或是為了對特定網站做些邪惡的事,通常會使用.NET上的WebRequest 來撰寫測試程式,本篇文章將會介紹如何利用 WebRequest 類別來對網站做 Get 以及 POST 動作。
設定 WebRequest。
WebRequest request = (HttpWebRequest)WebRequest.Create("http://fqdn.com");
request.Method = WebRequestMethods.Http.Get;
request.Headers.Add("Cookie", "cookie value"); //set cookie value在第三行,有設定 header 資訊,如果要將 Cookie 傳到伺服器,可以將值直接設到 header 裡,而 key 為 Cookie。
執行Http Get。
string strHTML = string.Empty;
WebResponse response = request.GetResponse();
string strStatus = (((HttpWebResponse)response).StatusDescription); //http status
Stream responseData = response.GetResponseStream();
StreamReader reader = new StreamReader(responseData);
strHTML = reader.ReadToEnd();
responseData.Close();
//寫回cookie
string cookie = response.Headers["Set-Cookie"];在取回 Response 物件後,就可以把 HTML 原始給取出來,另外 http 狀態及 Cookie 也可以取回來。
執行 Http Post。
byte[] postArray = Encoding.Default.GetBytes("Post Value");
request.ContentLength = postArray.Length;
Stream postStream = request.GetRequestStream();
postStream.Write(postArray, 0, postArray.Length);
postStream.Close();上述程式碼只有將 post 值寫進 WebRequest 物件的部份。
以上就是簡單的介紹,了解這些用法後,就可以寫出自動化的程式來對網站做特定的測試。
文章標籤
全站熱搜
