HttpWebRequest和HttpWebResponse類是用於發送和接收HTTP數據的最好選擇。
它們支持一系列有用的屬性。這兩個類位於System.Net命名空間,默認情況下這個類對於控制檯程序來說是可訪問的。請注意,HttpWebRequest對象不是利用new關鍵字通過構造函數來創建的,而是利用工廠機制(factory mechanism)通過Create()方法來創建的。另外,你可能預計需要顯式地調用一個“Send”方法,實際上不需要。接下來調用 HttpWebRequest.GetResponse()方法返回的是一個HttpWebResponse對象。你可以把HTTP響應的數據流(stream)綁定到一個StreamReader對象,然後就可以通過ReadToEnd()方法把整個HTTP響應作爲一個字符串取回。也可以通過 StreamReader.ReadLine()方法逐行取回HTTP響應的內容。
這種技術展示瞭如何限制請求重定向(request redirections)的次數, 並且設置了一個超時限制。下面是HttpWebRequest的一些屬性,這些屬性對於輕量級的自動化測試程序是非常重要的。
l AllowAutoRedirect:獲取或設置一個值,該值指示請求是否應跟隨重定向響應。
l CookieContainer:獲取或設置與此請求關聯的cookie。
l Credentials:獲取或設置請求的身份驗證信息。
l KeepAlive:獲取或設置一個值,該值指示是否與 Internet 資源建立持久性連接。
l MaximumAutomaticRedirections:獲取或設置請求將跟隨的重定向的最大數目。
l Proxy:獲取或設置請求的代理信息。
l SendChunked:獲取或設置一個值,該值指示是否將數據分段發送到 Internet 資源。
l Timeout:獲取或設置請求的超時值。
l UserAgent:獲取或設置 User-agent HTTP 標頭的值。