工程師的工作常會使用JSON格式去串接外部的API進行資料交換,
.net 有提供3種方法,
分別是HttpWebRequest、WebClient、HttpClient等方法,
HttpClient
是.net4.5才有的新功能,詳細的技術細節就不探討,
首些,先建立一個匿名型別
var x = new
{
user_id=5937502,
coupon_id=224,
verify_token= "d69df53622f1a83e22ec33d058068c5ecd53c705"
};
string JsonString= JsonConvert.SerializeObject(x);
string Result = "";
建立HttpCient連線,填入URL、JsonString、utf8編碼
HttpClient client = new HttpClient();
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, "你想要POST的URL");
requestMessage.Content = new StringContent(JsonString, Encoding.UTF8, "application/json");
HttpResponseMessage response = client.SendAsync(requestMessage).GetAwaiter().GetResult();
if (response.StatusCode.ToString() == "OK")
{
string r = response.Content.ReadAsStringAsync().Result.ToString();
Message MS = JsonConvert.DeserializeObject<Message>(r);
Result = JsonConvert.SerializeObject(MS);
}
else
{
Result = "伺服器連線異常";
}
return Result;
這裡的Message是一個類別做轉型,因為得到的回傳結果是Unicode的形式,
轉型後才能看到中文的顯示結果。
HttpWebRequest
送出成功的結果