public ActionResult Contact() { var code = Request.QueryString["code"].ToString(); Dictionary<string, string> dicParam = new Dictionary<string, string>(); dicParam.Add("client_id", SysConst.AppKey); dicParam.Add("client_secret", SysConst.AppSecret); dicParam.Add("grant_type", "authorization_code"); dicParam.Add("code", code); dicParam.Add("redirect_uri", "http://www.dabaolo.com/Home/Contact"); Top.Api.Util.WebUtils webUtils = new Top.Api.Util.WebUtils(); var result = webUtils.DoPost("https://oauth.taobao.com/token", dicParam); dynamic objResult = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(result); var sessionKey = objResult.access_token; InstanceLocator.Current.RegisterInstance<AuthorizedContext>(new AuthorizedContext() { SessionKey = sessionKey, AppKey = SysConst.AppKey, UserNick = objResult.taobao_user_nick, UserId = objResult.taobao_user_id, RefreshToken = objResult.refresh_token }); // var context = TopUtils.GetTopContext("6201a25b6a85595fe8af978a4c64ededdfh6ff412cdcb8b820330575"); /*var context = new TopContext(); context.SessionKey.SessionKey = "6201a25b6a85595fe8af978a4c64ededdfh6ff412cdcb8b820330575"; InstanceLocator.Current.RegisterInstance<TopContext>(context);*/ //ViewBag.Message = result; //todo SessionKey 是获取正确的,但是TopContext 有问题,得重构代码 var req = new DeliveryTemplatesGetRequest { Fields = "template_id,template_name" }; var tContext = InstanceLocator.Current.GetInstance<AuthorizedContext>(); DeliveryTemplatesGetResponse response = client.Execute(req, tContext.SessionKey); if (response.IsError) throw new TopResponseException(response.ErrCode, response.ErrMsg, response.SubErrCode, response.SubErrMsg, response.TopForbiddenFields); var res = response.DeliveryTemplates; if (res != null) { ViewBag.Message = "{0} 个+{1}".StringFormat(res.Count, result); } else { ViewBag.Message = "0 个"; } /* _goodsPublish.UpdateGoodsFromOnSale(_request,new string[] {"222989"}, false); */ return View(); }
public static FileInfo Download(string url, string saveDir) { FileInfo file = null; WebUtils wu = new WebUtils(); HttpWebRequest req = wu.GetWebRequest(url, "GET"); req.ContentType = "application/x-www-form-urlencoded;charset=utf-8"; HttpWebResponse rsp = (HttpWebResponse)req.GetResponse(); if (CTYPE_ZIP.Equals(rsp.ContentType)) { if (string.IsNullOrEmpty(saveDir)) { file = new FileInfo(Path.GetTempFileName() + ".zip"); } else { file = new FileInfo(Path.Combine(saveDir, Path.GetRandomFileName() + ".zip")); } using (System.IO.Stream rspStream = rsp.GetResponseStream()) { byte[] bytes = new byte[1024]; int len = 0; using (FileStream fileStream = new FileStream(file.FullName, FileMode.OpenOrCreate)) { while ((len = rspStream.Read(bytes, 0, bytes.Length)) > 0) { fileStream.Write(bytes, 0, len); } } } } else { string json = wu.GetResponseAsString(rsp, Encoding.GetEncoding(rsp.CharacterSet)); if (!string.IsNullOrEmpty(json)) { IDictionary dict = Top.Api.Util.TopUtils.ParseJson(json); string errCode = dict["code"] as string; string errMsg = dict["message"] as string; throw new Top.Api.TopException(errCode, errMsg); } } return file; }
/// <summary> /// 通过HTTP GET方式下载文件到指定的目录。 /// </summary> /// <param name="url">需要下载的URL</param> /// <param name="destDir">需要下载到的目录</param> /// <returns>下载后的文件</returns> public static string Download(string url, string destDir) { string file = null; try { WebUtils wu = new WebUtils(); HttpWebRequest req = wu.GetWebRequest(url, "GET"); HttpWebResponse rsp = (HttpWebResponse)req.GetResponse(); if (CTYPE_OCTET.Equals(rsp.ContentType)) { file = Path.Combine(destDir, GetFileName(rsp.Headers["Content-Disposition"])); using (System.IO.Stream rspStream = rsp.GetResponseStream()) { int len = 0; byte[] buf = new byte[8192]; using (FileStream fileStream = new FileStream(file, FileMode.OpenOrCreate)) { while ((len = rspStream.Read(buf, 0, buf.Length)) > 0) { fileStream.Write(buf, 0, len); } } } } else { throw new TopException(wu.GetResponseAsString(rsp, Encoding.UTF8)); } } catch (WebException e) { throw new TopException("isv.file-already-download", e.Message); } return file; }
public ActionResult Contact() { var code = Request.QueryString["code"].ToString(); Dictionary <string, string> dicParam = new Dictionary <string, string>(); dicParam.Add("client_id", SysConst.AppKey); dicParam.Add("client_secret", SysConst.AppSecret); dicParam.Add("grant_type", "authorization_code"); dicParam.Add("code", code); dicParam.Add("redirect_uri", "http://www.dabaolo.com/Home/Contact"); Top.Api.Util.WebUtils webUtils = new Top.Api.Util.WebUtils(); var result = webUtils.DoPost("https://oauth.taobao.com/token", dicParam); dynamic objResult = Newtonsoft.Json.JsonConvert.DeserializeObject <dynamic>(result); var sessionKey = objResult.access_token; InstanceLocator.Current.RegisterInstance <AuthorizedContext>(new AuthorizedContext() { SessionKey = sessionKey, AppKey = SysConst.AppKey, UserNick = objResult.taobao_user_nick, UserId = objResult.taobao_user_id, RefreshToken = objResult.refresh_token }); // var context = TopUtils.GetTopContext("6201a25b6a85595fe8af978a4c64ededdfh6ff412cdcb8b820330575"); /*var context = new TopContext(); * context.SessionKey.SessionKey = "6201a25b6a85595fe8af978a4c64ededdfh6ff412cdcb8b820330575"; * * InstanceLocator.Current.RegisterInstance<TopContext>(context);*/ //ViewBag.Message = result; //todo SessionKey 是获取正确的,但是TopContext 有问题,得重构代码 var req = new DeliveryTemplatesGetRequest { Fields = "template_id,template_name" }; var tContext = InstanceLocator.Current.GetInstance <AuthorizedContext>(); DeliveryTemplatesGetResponse response = client.Execute(req, tContext.SessionKey); if (response.IsError) { throw new TopResponseException(response.ErrCode, response.ErrMsg, response.SubErrCode, response.SubErrMsg, response.TopForbiddenFields); } var res = response.DeliveryTemplates; if (res != null) { ViewBag.Message = "{0} 个+{1}".StringFormat(res.Count, result); } else { ViewBag.Message = "0 个"; } /* * _goodsPublish.UpdateGoodsFromOnSale(_request,new string[] {"222989"}, false); */ return(View()); }