這里我們要發送一個POST請求,並接受返回的數據:
namespace Yelbosh{
class Post{
static void main(string[] args){
sentence = "你好吧";
Encoding encoding = Encoding.GetEncoding("UTF-8");
Stream outstream = null;
Stream instream = null;
StreamReader sr = null;
string url = "http://1.caunion.sinaapp.com/a.php";
HttpWebRequest request = null;
HttpWebResponse response = null;
// 准備請求,設置參數
request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "POST";
request.ContentType ="application/x-www-form-urlencoded";
byte[] data = encoding.GetBytes(url + "&sentence="+sentence);
request.ContentLength = data.Length;
outstream = request.GetRequestStream();
outstream.Write(data, 0, data.Length);
outstream.Flush();
outstream.Close();
//發送請求並獲取相應回應數據
response = request.GetResponse() as HttpWebResponse;
//直到request.GetResponse()程序才開始向目標網頁發送Post請求
instream = response.GetResponseStream();
sr = new StreamReader(instream, encoding);
//返回結果網頁(html)代碼
string content = sr.ReadToEnd();
}
}
}
HttpWebRequest在初始化的時候要先根據url進行創建,然后再設置Method和ContentType,然后再將請求的內容寫進去,通過GetRequestStream來返回流,再向這個流中寫請求內容便可以了。再通過request對象的GetResponse方法返回response對象,最后得到返回的數據流,這是通過GetResponseStream方法返回的,最后從這個流中讀出返回的數據便ok了。