首先先要感謝博主小偉地方提供的博客,讓我解決了問題。 同樣是先提問題,我們要請求http乾什麼? 通過請求http,傳入我的參數,我希望能夠獲取到項目裡面的某些數據,比如這裡,我們需要得到SceneList。 1.參數,傳入catagoryid可以得到在這個分類下的場景列表 2.在控制台,把場景列表 ...
首先先要感謝博主小偉地方提供的博客,讓我解決了問題。
同樣是先提問題,我們要請求http乾什麼?
通過請求http,傳入我的參數,我希望能夠獲取到項目裡面的某些數據,比如這裡,我們需要得到SceneList。
1.參數,傳入catagoryid可以得到在這個分類下的場景列表
2.在控制台,把場景列表信息列印出來。
首先GET方法
static void Main(string[] args) { //GET方法 //首先創建一個httpRequest,用Webrequest.Create(url)的方法 HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("http://localhost:5534/Home/SceneList?catagoryid=2"); //初始化httpRequest,申明用的GET方法請求http httpRequest.Timeout = 2000; httpRequest.Method = "GET"; //創建一個httpResponse,存放伺服器返回信息 HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse(); //這個地方我也不曉得幹了啥,反正都是抄寫別人的 //就理解為讀取頁面吧 StreamReader sr = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.UTF8); //頁面讀完了,result接收結果 string result = sr.ReadToEnd(); //一個新字元串,其中當前實例中出現的所有指定字元串都替換為另一個指定的字元串 Replace(string oldValue,string newValue) result = result.Replace("\r", "").Replace("\n", "").Replace("\t", ""); //請求狀態的反饋 int status = (int)httpResponse.StatusCode; sr.Close(); Console.WriteLine(result); Console.ReadKey(); }GET
然後POST方法
static void Main(string[] args) { //POST方法 //實例化一個編碼方法 UTF8Encoding encoding = new UTF8Encoding(); //傳入參數 string postData = "catagoryid=2"; //將參數編碼為UTF8的格式 byte[] data = encoding.GetBytes(postData); HttpWebRequest myRequest =(HttpWebRequest)WebRequest.Create("http://localhost:5534/Home/SceneList"); myRequest.Method = "POST"; myRequest.ContentType = "application/x-www-form-urlencoded"; myRequest.ContentLength = data.Length; Stream newStream = myRequest.GetRequestStream(); newStream.Write(data, 0, data.Length); newStream.Close(); HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse(); StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8); string result = reader.ReadToEnd(); result = result.Replace("\r", "").Replace("\n", "").Replace("\t", ""); int status = (int)myResponse.StatusCode; reader.Close(); Console.WriteLine(result); Console.ReadKey(); }POST
其實POST和GET很像,就是傳參數的方式不同,GET方法是在url後面傳入參數 http://localhost:5534/Home/SceneList?catagoryid=2
而POST方法,先申明參數,然後轉碼,之後在寫入的時候帶上參數 newStream.Write(data, 0, data.Length);
這樣也解決了目前的問題,再次感謝博主小偉地方提供的博客。
註:此篇隨筆只供參考使用,而且也有很多小瑕疵,最主要的不是代碼,邏輯才是最重要的。