close

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 專案。

1.jpg

 

Step2: 選取專案範本。

2.jpg

Step3: 輸入專案名稱及儲存位置。

3.jpg

Step4: 選取WebForm 應用程式。

4.jpg

Step5 :在Default.aspx 創造出第一個按鈕~ ,及輸入框。

6.1.jpg

程式碼:

<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! &raquo;" 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>

 

做好後就會長這樣~

6.2.jpg

Step6 :在Default.aspx.cs : 建立WebClient物件。

有紅色的毛毛蟲很噁心,但不用緊張,只需要引用系統的Class就可以了~

6.jpg

程式碼:

 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 :引用系統的物件。

8.jpg

 

 

Client 端的部分就成功了喔~
下一篇就是 Server 端的介紹,然後就可以體驗傳送資料的爽感了XD

 

 

 

 

創作者介紹
創作者 阿駿 的頭像
阿駿

阿駿的部落格

阿駿 發表在 痞客邦 留言(2) 人氣()