在C#中調用StringBoot介面,POST請求,案例代碼: public string HttpPost() { //把用戶傳過來的數據轉成“UTF-8”的位元組流Encoding encoding = Encoding.UTF8;//創建一個HTTP請求HttpWebRequest reques ...
在C#中調用StringBoot介面,POST請求,案例代碼:
public string HttpPost()
{
//把用戶傳過來的數據轉成“UTF-8”的位元組流
Encoding encoding = Encoding.UTF8;
//創建一個HTTP請求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://介面IP地址:埠號/介面路徑"); //比如:http://192.168.123.12:8080/api/post
//調用POST方法
request.Method = "POST";
request.ContentType = "application/json; charset=UTF-8";
request.Headers["Accept-Encoding"] = "gzip, deflate";
//content為body中的參數
String content = "{\"message\":\"請求成功\"," +
"\"nid\":\"0000001\"," +
"\"details\":\"員工\"," +
"\"name\":\"zhangsan"}";
byte[] buffer = encoding.GetBytes(content);
request.ContentLength = buffer.Length;
request.GetRequestStream().Write(buffer, 0, buffer.Length);
//通過Web訪問對象獲取響應內容
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
//通過響應內容流創建StreamReader對象
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
//利用StreamReader就可以從響應內容從頭讀到尾,結果是String類型
var retString = reader.ReadToEnd();
}
return retString; 結果是一個字元串類型:
GET請求,案例代碼:
public string HttpGet()
{
//把用戶傳過來的數據轉成“UTF-8”的位元組流
Encoding encoding = Encoding.UTF8;
//創建一個HTTP請求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("介面地址");
//調用GET方法
request.Method = "GET";
request.ContentType = "application/json";
request.Headers["Accept-Encoding"] = "gzip,deflase";
request.AutomaticDecompression = DecompressionMethods.GZip;
//通過Web訪問對象獲取響應內容
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// HttpCookie cookies = new HttpCookie("admin"); //如果有需要通過登錄實現保存cookie值的話可以加一部分
// cookies.Value = Convert.ToString(response.Headers["Set-Cookie"]); // 通過響應請求讀取帶cookie的http數據
// cookies.Expires = DateTime.Now.AddDays(1);
// HttpContext.Current.Response.Cookies.Add(cookies);
//通過響應內容流創建StreamReader對象
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)
//利用StreamReader從響應內容從頭讀到尾
return reader.ReadToEnd();
}