在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
其实就是找个地方然后给关键的代码做个笔记什么的……
字符串访问API接口,访问方法为POST: string url = URL; string RequestParam = Param; string headername = HeaderName; string header = Header; string html = ""; try { WebRequest wbreq = WebRequest.Create(url); } catch (WebException WebEx) { Console.WriteLine("无法访问的URI:" + "\r\n" + WebEx.ToString()); } byte[] byteArray = Encoding.UTF8.GetBytes(RequestParam); { //POST访问接口 HttpWebRequest RequestInterfaceRequsetByString = (HttpWebRequest)HttpWebRequest.Create(new Uri(URL)); RequestInterfaceRequsetByString.KeepAlive = false; RequestInterfaceRequsetByString.ProtocolVersion = HttpVersion.Version11; RequestInterfaceRequsetByString.Method = "post"; RequestInterfaceRequsetByString.ContentType = "application/x-www-form-urlencoded"; RequestInterfaceRequsetByString.Timeout = -1;//超时时间设置为无限大 RequestInterfaceRequsetByString.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0"; Encoding encoding = Encoding.GetEncoding("utf-8"); RequestInterfaceRequsetByString.Headers.Add(headername, Header); try { Stream requeststream = RequestInterfaceRequsetByString.GetRequestStream(); requeststream.Write(byteArray, 0, byteArray.Length); requeststream.Close(); try { HttpWebResponse response = (HttpWebResponse)RequestInterfaceRequsetByString.GetResponse(); Stream responsestream = response.GetResponseStream(); StreamReader sr = new StreamReader(responsestream); html = sr.ReadToEnd(); //从头读到尾,放到字符串html responsestream.Close(); response.Close(); } catch (Exception ex) { html = ex.Message; } } catch (Exception ex) { html = ex.Message; } } return html; } json转字典类型: public static Dictionary<string, object> ConvertDictionary(string str) { JavaScriptSerializer jss = new JavaScriptSerializer(); //string jsstr = ConvertJsonString(str); try { return jss.Deserialize<Dictionary<string, object>>(str); } catch (Exception ex) { throw new Exception(ex.Message); } } 字典类型访问API接口:与字符串类型访问接口基本类似,但是需要加入字典相关的东西,访问方法为POST Dictionary<string, object> requestdic = ConvertToDictionary.ConvertDictionary(RequestParam); StringBuilder buffer = new StringBuilder(); int i = 0; foreach (string key in requestdic.Keys) { if (i > 0) { buffer.AppendFormat("&{0}={1}", key, requestdic[key]); } else { buffer.AppendFormat("{0}={1}", key, requestdic[key]); } i++; } byte[] byteArray = Encoding.UTF8.GetBytes(buffer.ToString()); 格式化json字符串: public static string ConvertJsonString(string str) { //格式化json字符串 JsonSerializer serializer = new JsonSerializer(); TextReader tr = new StringReader(str); JsonTextReader jtr = new JsonTextReader(tr); object obj = serializer.Deserialize(jtr); if (obj != null) { StringWriter textWriter = new StringWriter(); JsonTextWriter jsonWriter = new JsonTextWriter(textWriter) { Formatting = Formatting.Indented, Indentation = 4, IndentChar = ' ' }; serializer.Serialize(jsonWriter, obj); return textWriter.ToString(); } else { return str; } } } Json数据处理: JObject jobj = JObject.Parse(response); //想取值就在jobj后面加节点就行 var OrderId = jobj["data"]["Orders"][i]["OrderId"]; //如想取多重嵌套的Json节点个数,就用JArray JArray orderobj = (JArray)jobj["data"]["Orders"]; orderobj.count;
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论