/// <summary> /// Get API Model /// </summary> /// <param name="access_token">access_token</param> /// <returns>Model</returns> private EASLinkAPIModel GetAPIModel(string access_token) { EASLinkAPIModel model = new EASLinkAPIModel(); access_token = System.Web.HttpUtility.UrlDecode(access_token); var dynamicObj = JsonConvert.DeserializeObject <dynamic>(access_token); model.Link = dynamicObj["link"]["link"].Value; model.Password = dynamicObj["link"]["password"].Value; model.DocId = dynamicObj["doc"]["docid"].Value; model.Host = dynamicObj["host"].Value; var port = dynamicObj["port"].Value; if (port > 0) { model.Host = $"{model.Host}:{port}"; } return(model); }
/// <summary> /// 获取分享文件信息 /// </summary> /// <returns>分享文件信息</returns> public string GetShareFileInfo(string token) { try { EASLinkAPIModel model = GetAPIModel(token); HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"{model.Host}/api/v1/link/get"); request.Method = "Post"; request.ContentType = "application/json"; var param = "{\"link\":\"" + model.Link + "\",\"password\":\"" + model.Password + "\",\"docid\":\"" + model.DocId + "\"}"; var bytes = Encoding.UTF8.GetBytes(param); Stream reqStream = request.GetRequestStream(); reqStream.Write(bytes, 0, bytes.Length); reqStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); int resCode = (int)response.StatusCode; // 若为错误返回码则抛出异常 if (resCode < 200 || resCode >= 300) { throw new Exception(); } Stream ResStream = response.GetResponseStream(); string resBody = string.Empty; using (StreamReader reader = new StreamReader(ResStream, Encoding.UTF8)) { resBody = reader.ReadToEnd(); } return(resBody); } catch (Exception ex) { throw ex; } }