C#請(qǐng)求http向網(wǎng)頁(yè)發(fā)送接收數(shù)據(jù)的方法
本文實(shí)例為大家分享了C#請(qǐng)求http向網(wǎng)頁(yè)發(fā)送數(shù)據(jù)、網(wǎng)頁(yè)接收,供大家參考,具體內(nèi)容如下
首先,我們需要的是什么東西?
用POST方式請(qǐng)求http,給網(wǎng)頁(yè)傳輸數(shù)據(jù),網(wǎng)頁(yè)接收到數(shù)據(jù)之后,把數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。
1.首先請(qǐng)求http,建立連接,把轉(zhuǎn)碼過(guò)的數(shù)據(jù)傳輸過(guò)去
2.網(wǎng)頁(yè)接收數(shù)據(jù),在轉(zhuǎn)碼之后存儲(chǔ)到數(shù)據(jù)庫(kù)
3.網(wǎng)頁(yè)返回一個(gè)東西給傳輸方,表示我們已經(jīng)接收到數(shù)據(jù)了
同樣,我們請(qǐng)求http也是用的控制臺(tái)模擬的
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">請(qǐng)求后臺(tái)地址</param> /// <param name="content">Post提交數(shù)據(jù)內(nèi)容(utf-8編碼的)</param> /// <returns>結(jié)果</returns> public static string Post(string url, string content) { //申明一個(gè)容器result接收數(shù)據(jù) string result = ""; //首先創(chuàng)建一個(gè)HttpWebRequest,申明傳輸方式POST HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; //添加POST參數(shù) byte[] data = Encoding.UTF8.GetBytes(content); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } //申明一個(gè)容器resp接收返回?cái)?shù)據(jù) HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //獲取響應(yīng)內(nèi)容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; }
然后,在Controller里面有個(gè)ToUrl用于接收數(shù)據(jù)
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-數(shù)據(jù)發(fā)布(In)異常:" + ex.Message; } Service service = new Service(); //調(diào)用AddCatagorys方法,把數(shù)據(jù)添加進(jìn)去 service.AddCatagorys(result); //再調(diào)用GetCatas方法,獲取到分類(lèi)列表 List<Catagory> list = service.GetCatagories(); //找到分類(lèi)列表最后一個(gè)分類(lèi),也就是剛剛添加的分類(lèi) Catagory catagory = list[list.Count - 1]; //返回Json //return Json(catagory) //返回一個(gè)ID,Content()里面是string類(lèi)型,所以要把int轉(zhuǎn)為string類(lèi)型 return Content(catagory.ID.ToString()); }
這里其實(shí)相當(dāng)于兩個(gè)人打電話,你在跟我打電話的時(shí)候,按理來(lái)說(shuō)不會(huì)再跟其他人打電話唄。
所以這里return Content(catagory.ID.ToString());表示將返回的ID再返還給控制臺(tái),也就是傳輸方,讓傳輸方知道我們接收到你傳輸過(guò)來(lái)的數(shù)據(jù),并且把它保存到數(shù)據(jù)庫(kù)里面了。
注:此篇隨筆只供參考使用,而且也有很多小瑕疵,最主要的不是代碼,邏輯才是最重要的。
上一篇:C#創(chuàng)建SQLite控制臺(tái)應(yīng)用程序詳解
欄 目:C#教程
下一篇:C#如何將Access中以時(shí)間段條件查詢的數(shù)據(jù)添加到ListView中
本文標(biāo)題:C#請(qǐng)求http向網(wǎng)頁(yè)發(fā)送接收數(shù)據(jù)的方法
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5575.html
您可能感興趣的文章
- 01-10C#實(shí)現(xiàn)由四周向中心縮小的窗體退出特效
- 01-10C#簡(jiǎn)單實(shí)現(xiàn)子窗體向父窗體傳值的方法
- 01-10http圖片上傳安全性問(wèn)題 根據(jù)ContentType (MIME) 判斷其實(shí)不準(zhǔn)確、不
- 01-10C#實(shí)現(xiàn)向多線程傳參的三種方式實(shí)例分析
- 01-10C#編程實(shí)現(xiàn)四舍五入、向上及下取整的方法
- 01-10C#數(shù)據(jù)結(jié)構(gòu)之雙向鏈表(DbLinkList)實(shí)例詳解
- 01-10解析C#面向?qū)ο缶幊讨蟹椒ǎ╩ethod)的使用
- 01-10C# 面向?qū)ο笕筇匦裕悍庋b、繼承、多態(tài)
- 01-10C#面向?qū)ο笤O(shè)計(jì)的七大原則
- 01-10C#向無(wú)窗口的進(jìn)程發(fā)送消息


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10C#通過(guò)反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁(yè)無(wú)法打開(kāi)的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻 器左下角滾動(dòng)新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過(guò)重寫(xiě)Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 04-02jquery與jsp,用jquery
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什