C# asp.net WebClient 的 API串接 使用Uploadstring
最全面的商業實戰 API教學 - WebClient 的 API串接
嗨~ 我是 IG 雞湯工程師 歡迎大家追蹤我喔~
大家好我是IG雞湯工程師,這次紀錄API的架設及寫法,API是一個肥大又重要的主題,只要是軟體工程師都有機會要連結其他廠商、公司的資料,其中使用的方法大多數只會有兩種,API、WebService,這一章所要介紹的是,用C# .NET 裡面的WebClient,做出一支API,前端會用WebForm去寫簡單的輸入輸出。
需要具備的基礎:
1.物件觀念
2.Json 資料格式
3.Http 傳輸協定
一步一腳印,練習開始~~
使用版本 : 2017~ 2019
Client的程式
Step1 : 建立一個,Webform 專案。
Step2: 選取專案範本。
Step3: 輸入專案名稱及儲存位置。
Step4: 選取WebForm 應用程式。
Step5 :在Default.aspx 創造出第一個按鈕~ ,及輸入框。
程式碼:
<div class="row">
<div class="col-md-3">
<h2>WebClient POST</h2>
<p>
Send the Data to the Server and Query this (Hint:12345)
<asp:TextBox runat="server" ID="txtPost" Text="" TextMode="MultiLine" Width="100%"/>
</p>
<p>
<asp:Button ID="btnPost" class="btn btn-default" runat="server" Text="Please Click! »" Onclick="btnPOST"/>
</p>
</div>
<div class="col-md-9">
<h2>RESULT</h2>
<p>
Use Web API to request the Server
</p>
<div class="jumbotron">
<asp:TextBox runat="server" ID="txtMsg" Text="" TextMode="MultiLine" Rows="5" Width="100%"/>
</div>
</div>
</div>
做好後就會長這樣~
Step6 :在Default.aspx.cs : 建立WebClient物件。
有紅色的毛毛蟲很噁心,但不用緊張,只需要引用系統的Class就可以了~
程式碼:
protected void btnPOST(object sender, EventArgs e)
{
//step1.使用幫助我們傳輸Json資料的物件 -> WebClient
System.Net.WebClient Client = new System.Net.WebClient();
//step2. 設定傳送資料的編碼、解碼格式
Client.Encoding = Encoding.UTF8;
//step3. http的標頭欄位,用來說明傳輸的內容是甚麼格式 常見的是Json XML
Client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
UserUID sendData = new UserUID();
sendData.UID = txtPost.Text.Trim();
//step4. 把sendData轉換成 Json
string jsonText = JsonConvert.SerializeObject(sendData);
string url = ConfigurationManager.AppSettings["Web_APIPost"].ToString() + "User";
//step5. 使用Client 物件裡面的 UploadString 的方法,通過這個方法會將資料傳輸給Server
string result = Client.UploadString(url, "POST", jsonText);
txtMsg.Text = result;
}
Step7 :引用系統的物件。
Client 端的部分就成功了喔~
下一篇就是 Server 端的介紹,然後就可以體驗傳送資料的爽感了XD