本文實例為大家分享了C#請求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再返還給控制臺,也就是傳輸方,讓傳輸方知道我們接收到你傳輸過來的數據,并且把它保存到數據庫里面了。
注:此篇隨筆只供參考使用,而且也有很多小瑕疵,最主要的不是代碼,邏輯才是最重要的。
新聞熱點
疑難解答