c# 带请求头 Headers的请求方式 例 钉盘下载

    public ActionResult DownLoadInfo(string SpaceId, string fileId)
        {
            DingNewService DDApi = new DingNewService();
            //1.根据当前登录的用户档案,获取用户的钉钉ID
            var LoginInfo = OperatorProvider.Provider.GetCurrent().UserId;
            UserApp user = new UserApp();
            var UserEntity = user.GetForm(LoginInfo);
            var ThisUserId = UserEntity.F_WeChat;
            //2.获取token
            var token = DDApi.GetAccessToken(DDApi.App_Key, DDApi.App_Secret);
            //3.根据用户钉钉ID 获取用户的UNIONID
            var UnionId = DingNewService.GetDingUserUnionIdForUserId(token, ThisUserId);
            //4.获取下载文件的详细信息
            var FileDetail = DingNewService.GetDingPanFileDetailInfo(token, UnionId, SpaceId, fileId);
            //获取下载预备信息
            var DownInfo = DingNewService.GetDownLoadInfo(token, SpaceId, fileId, UnionId);
            WebRequest webReqst =  WebRequest.Create(DownInfo.ResourceUrl);
            MethodInfo priMethod = webReqst.Headers.GetType().GetMethod("AddWithoutValidate", BindingFlags.Instance | BindingFlags.NonPublic);
            priMethod.Invoke(webReqst.Headers, new[] { "Date", DownInfo.Headers["Date"] });
            string myDate = webReqst.Headers.Get("Date");
            webReqst.Headers.Add("Authorization", DownInfo.Headers["Authorization"]);
            HttpWebResponse myrp = (System.Net.HttpWebResponse)webReqst.GetResponse();
            Stream st = myrp.GetResponseStream();
            Stream so = new System.IO.FileStream("E:\\" + FileDetail.FileName + "." + FileDetail.FileExtension + "", System.IO.FileMode.Create);
            byte[] by = new byte[1024];
            int osize = st.Read(by, 0, (int)by.Length);
            while (osize > 0)
            {
                so.Write(by, 0, osize);
                osize = st.Read(by, 0, (int)by.Length);
            }
            so.Close();
            st.Close();
            myrp.Close();
           // Myrq.Abort();
            #region 预信息获取完毕 开始下载

            #endregion
            return Content("");
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值