C#請(qǐng)求http向網(wǎng)頁發(fā)送接收數(shù)據(jù)的方法
本文實(shí)例為大家分享了C#請(qǐng)求http向網(wǎng)頁發(fā)送數(shù)據(jù)、網(wǎng)頁接收,供大家參考,具體內(nèi)容如下
首先,我們需要的是什么東西?
用POST方式請(qǐng)求http,給網(wǎng)頁傳輸數(shù)據(jù),網(wǎng)頁接收到數(shù)據(jù)之后,把數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中。
1.首先請(qǐng)求http,建立連接,把轉(zhuǎn)碼過的數(shù)據(jù)傳輸過去
2.網(wǎng)頁接收數(shù)據(jù),在轉(zhuǎn)碼之后存儲(chǔ)到數(shù)據(jù)庫
3.網(wǎng)頁返回一個(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方法,獲取到分類列表
List<Catagory> list = service.GetCatagories();
//找到分類列表最后一個(gè)分類,也就是剛剛添加的分類
Catagory catagory = list[list.Count - 1];
//返回Json
//return Json(catagory)
//返回一個(gè)ID,Content()里面是string類型,所以要把int轉(zhuǎn)為string類型
return Content(catagory.ID.ToString());
}
這里其實(shí)相當(dāng)于兩個(gè)人打電話,你在跟我打電話的時(shí)候,按理來說不會(huì)再跟其他人打電話唄。
所以這里return Content(catagory.ID.ToString());表示將返回的ID再返還給控制臺(tái),也就是傳輸方,讓傳輸方知道我們接收到你傳輸過來的數(shù)據(jù),并且把它保存到數(shù)據(jù)庫里面了。
注:此篇隨筆只供參考使用,而且也有很多小瑕疵,最主要的不是代碼,邏輯才是最重要的。
相關(guān)文章
詳解C#中Dictionary<TKey,TValue>的存儲(chǔ)結(jié)構(gòu)
無論是實(shí)際的項(xiàng)目中,還是在我們學(xué)習(xí)的過程中,都會(huì)重點(diǎn)的應(yīng)用到Dictionary<TKey,?TValue>這個(gè)存儲(chǔ)類型,所以本文就來為大家介紹一下這一存儲(chǔ)結(jié)構(gòu)的相關(guān)知識(shí),希望對(duì)大家有所幫助2023-11-11
解析C#編程的通用結(jié)構(gòu)和程序書寫格式規(guī)范
這篇文章主要介紹了C#編程的通用結(jié)構(gòu)和程序書寫格式規(guī)范,這里我們根據(jù)C#語言的開發(fā)方微軟給出的約定來作為編寫樣式參照,需要的朋友可以參考下2016-01-01
C#中使用HttpPost調(diào)用WebService的方法
這篇文章介紹了C#中使用HttpPost調(diào)用WebService的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
C#實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能(1)(窗體應(yīng)用)
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Unity通過UGUI的Slider調(diào)整物體顏色
這篇文章主要為大家詳細(xì)介紹了Unity通過UGUI的Slider調(diào)整物體顏色,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02

