首先,我們需要的是什麼東西? 用POST方式請求http,給網頁傳輸數據,網頁接收到數據之後,把數據存儲到資料庫中。 1.首先請求http,建立連接,把轉碼過的數據傳輸過去 2.網頁接收數據,在轉碼之後存儲到資料庫 3.網頁返回一個東西給傳輸方,表示我們已經接收到數據了 同樣,我們請求http也是用 ...
首先,我們需要的是什麼東西?
用POST方式請求http,給網頁傳輸數據,網頁接收到數據之後,把數據存儲到資料庫中。
1.首先請求http,建立連接,把轉碼過的數據傳輸過去
2.網頁接收數據,在轉碼之後存儲到資料庫
3.網頁返回一個東西給傳輸方,表示我們已經接收到數據了
同樣,我們請求http也是用的控制台模擬的
static void Main(string[] args) { string result = Post("http://localhost:5534/Home/ToUrl", "家庭"); Console.WriteLine(result); Console.ReadKey(); } /// <summary> /// 指定Post地址使用Get 方式獲取全部字元串 /// </summary> /// <param name="url">請求後臺地址</param> /// <param name="content">Post提交數據內容(utf-8編碼的)</param> /// <returns>結果</returns> public static string Post(string url, string content) { //申明一個容器result接收數據 string result = ""; //首先創建一個HttpWebRequest,申明傳輸方式POST HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; //添加POST參數 byte[] data = Encoding.UTF8.GetBytes(content); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } //申明一個容器resp接收返回數據 HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //獲取響應內容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; }傳輸方
然後,在Controller裡面有個ToUrl用於接收數據
public ActionResult ToUrl() { string result = ""; string jsonStr = "", line; try { Stream streamResponse = Request.InputStream; StreamReader streamRead = new StreamReader(streamResponse, Encoding.UTF8); while ((line = streamRead.ReadLine()) != null) { jsonStr += line; } streamResponse.Close(); streamRead.Close(); result = jsonStr; } catch (Exception ex) { result = "msg-數據發佈(In)異常:" + ex.Message; } Service service = new Service(); //調用AddCatagorys方法,把數據添加進去 service.AddCatagorys(result); //再調用GetCatas方法,獲取到分類列表 List<Catagory> list = service.GetCatagories(); //找到分類列表最後一個分類,也就是剛剛添加的分類 Catagory catagory = list[list.Count - 1]; //返回Json //return Json(catagory) //返回一個ID,Content()裡面是string類型,所以要把int轉為string類型 return Content(catagory.ID.ToString()); }接收方
這裡其實相當於兩個人打電話,你在跟我打電話的時候,按理來說不會再跟其他人打電話唄。
所以這裡return Content(catagory.ID.ToString());表示將返回的ID再返還給控制台,也就是傳輸方,讓傳輸方知道我們接收到你傳輸過來的數據,並且把它保存到資料庫裡面了。
註:此篇隨筆只供參考使用,而且也有很多小瑕疵,最主要的不是代碼,邏輯才是最重要的。