使用httpwebrequest發送http請求


 HttpWebRequest request = WebRequest.Create("url") as HttpWebRequest;
            request.Timeout = 8 * 60 * 1000;
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";//數據放在body中,以鍵值對形式
            request.KeepAlive = true;
            request.Headers.Add("Authorization", Authorization);//api 的驗證 信息
            string ss = System.Web.HttpUtility.UrlEncode("key") + "=" + System.Web.HttpUtility.UrlEncode(value);//參數使用urlencode編碼,
//空格全部用+代替
byte[] postData = encoding.GetBytes(ss); request.ContentLength = postData.Length; Stream requestStream = request.GetRequestStream(); requestStream.Write(postData, 0, postData.Length); requestStream.Close(); var response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader reader = new StreamReader(responseStream, encoding); string result = reader.ReadToEnd(); reader.Close(); responseStream.Close();

2 拿到api返回的json格式之后使用newtonsoft來反序列化

 private static T DeserializeObject<T>(string equityJson)
        {
//將返回的json反序列化成objec object _object = JsonConvert.DeserializeObject(equityJson);
//轉換成jobject Newtonsoft.Json.Linq.JObject jObject = _object as Newtonsoft.Json.Linq.JObject;
//根據鍵值對的形式拿到對應的value string dataJson = jObject["data"].ToString(); object dataObj = JsonConvert.DeserializeObject(dataJson); JObject jdataObj = dataObj as JObject; string capabilityResults = jdataObj["capabilityResults"].ToString(); object capabilityResultsObj = JsonConvert.DeserializeObject(capabilityResults); JObject jcapabilityResultsObj = capabilityResultsObj as JObject; string equity_name_matching = jcapabilityResultsObj["equity_name_matching"].ToString(); T equityMatchReturn = JsonConvert.DeserializeObject<T>(equity_name_matching); return equityMatchReturn; }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM