c# 調用post 請求

 public  string HttpPost()
        {

            HttpWebRequest webrequest =
                (HttpWebRequest)HttpWebRequest.Create("接口地址");
            webrequest.Method = "POST";

            webrequest.ContentType = "application/x-www-form-urlencoded"; //無關的請求頭在本文中都省略掉了

            webrequest.Headers.Add("Access-Token", "Sinopec-Station");

            string postData = “json串” ;

            byte[] postdatabyte = Encoding.UTF8.GetBytes(postData);
            webrequest.ContentLength = postdatabyte.Length;
            Stream stream = webrequest.GetRequestStream();
            stream.Write(postdatabyte, 0, postdatabyte.Length);
            stream.Close();

            HttpWebResponse response = (HttpWebResponse)webrequest.GetResponse();
            Stream myResponseStream = response.GetResponseStream();
            //StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
            //StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("gb2312")); 
            string retString = myStreamReader.ReadToEnd();
            myStreamReader.Close();
            myResponseStream.Close();
            return retString;
        }
        
        ////post方法調用接口獲取json文件內容
        public string PostFunction()
        {
            string serviceAddress = ""接口地址"";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
            request.Headers.Add("Access-Token", "Sinopec-Station");
            request.Method = "POST";
            request.ContentType = "application/json";
            //request.CookieContainer = cookie; //cookie信息由CookieContainer自行維護
            using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream()))
            {
                dataStream.Write(“json串”);
                dataStream.Close();
            }
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            string encoding = response.ContentEncoding;
            if (encoding == null || encoding.Length < 1)
            {
                encoding = "UTF-8"; //默認編碼  
            }
            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
            return reader.ReadToEnd();

        }

 

JMeter基礎:請求參數Parameters 、Body Data的區別

 

使用Jmeter測試時,很多人不知道請求參數Parameters 、Body Data的區別和用途,這裏簡單介紹下:

 

先了解一個接口的基本概念

在客戶機和服務器之間進行請求-響應時,HTTP協議中包括GET和POST兩種基本的請求方法,概念上兩者的區別是:

    get:從指定的資源請求數據。
    post:向指定的資源提交要被處理的數據

最直觀的表現就是:

GET把參數包含在URL中,POST通過request body傳遞參數將請求整體提交給服務器。所以接口測試時要區分兩種方法對待。

 

Jmeter中包含Parameters和Body Data兩種參數化的方式,區別是什麼呢?

    使用Parameters時,Content-Type不傳,或者直接傳application/x-www-from-urlencoded,若傳application/json出錯。
    使用Body Data時,Content-Type可傳application/x-www-from-urlencoded或application/json,兩者的區別是數據格式不同。
---------------------
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章