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){
}
}
提示:其他功能请参考开锁代码