close

有時候測試 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 物件的部份。

 

以上就是簡單的介紹,了解這些用法後,就可以寫出自動化的程式來對網站做特定的測試。

arrow
arrow
    全站熱搜

    卑微研究生 發表在 痞客邦 留言(0) 人氣()