1、创建Token
public void createToken() { string APIID = "bl750dac5ad0b81a11"; string APIKEY = "e8ec47402eebfc315bedfb02014d464d"; string ReqURL = "https://api.parkline.cc/api/token"; Dictionary parameters = new Dictionary(); parameters.Add("apiid", APIID); parameters.Add("apikey", APIKEY); HttpWebResponse res = CreatePostHttpResponse(ReqURL, parameters); Stream myResponseStream = res.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); Response.Write(retString); myStreamReader.Close(); myResponseStream.Close(); } public HttpWebResponse CreatePostHttpResponse(string url, IDictionary parameters) { HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;//创建请求对象 request.Method = "POST";//请求方式 request.ContentType = "application/x-www-form-urlencoded"; request.Referer = "http://192.168.4.164"; //后台填写的授权接入地址,必须包含http或https协议 if (!(parameters == null || parameters.Count == 0)) { StringBuilder buffer = new StringBuilder(); bool first = true; foreach (string key in parameters.Keys) { if (!first) { buffer.AppendFormat("&{0}={1}", key, parameters[key]); } else { buffer.AppendFormat("{0}={1}", key, parameters[key]); first = false; } } byte[] data = Encoding.UTF8.GetBytes(buffer.ToString()); //写入请求流 using (Stream stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } } return request.GetResponse() as HttpWebResponse; } =============================================================================== 2、发送开锁
public void openLock() { string token = "bhmhL6ap/xZIcWVyc+xw4dVKbfhIcdVDhowqw2rnwdgLmbFxMDJ2XmFA4dG5e6Z6e0bMY3wk1qg="; string typeid = "01"; string devid = "210015"; string lockid = "01"; string requrl = "https://api.parkline.cc/api/devicecgi"; Dictionary parameters = new Dictionary(); parameters.Add("token", UrlEncode(token)); parameters.Add("typeid", typeid); parameters.Add("devid", devid); parameters.Add("lockid", lockid); HttpWebResponse res = CreatePostHttpResponse(requrl, parameters); Stream myResponseStream = res.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); Response.Write(retString); myStreamReader.Close(); myResponseStream.Close(); } public static string UrlEncode(string str) { StringBuilder sb = new StringBuilder(); byte[] byStr = System.Text.Encoding.UTF8.GetBytes(str); //默认是System.Text.Encoding.Default.GetBytes(str) for (int i = 0; i < byStr.Length; i++) { sb.Append(@"%" + Convert.ToString(byStr[i], 16)); } return (sb.ToString()); } =============================================================================== 3、图片转BASE64字符
public string ImgToBase64String(string Imagefilename) { try { Bitmap bmp = new Bitmap(Imagefilename); MemoryStream ms = new MemoryStream(); bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png); byte[] arr = new byte[ms.Length]; ms.Position = 0; ms.Read(arr, 0, (int)ms.Length); ms.Close(); return Convert.ToBase64String(arr); }catch (Exception e){ return null; } } ===============================================================================
4、将图片Base64字符串转成图片
public void Base64StringToImage(string strbase64) { try { byte[] arr = Convert.FromBase64String(strbase64); MemoryStream ms = new MemoryStream(arr); System.Drawing.Image img = System.Drawing.Image.FromStream(ms); string ls_path = Server.MapPath(@"images\huweibing.png"); img.Save(ls_path, System.Drawing.Imaging.ImageFormat.Png); }catch (Exception ex){ } } 提示:其他功能请参考开锁代码