C # POST descarga Excel o archivo

   HttpWebRequest request = nulo;
            string url = "http://lotus.chinab2bi.com/lotus/sellCsgnsaQry/exportAllDetail.hlt"; // 登录 页面
            request = (HttpWebRequest) WebRequest.Create (url);
            request.Method = "POST";

            request.Accept = "text / html, application / xhtml + xml, * / *";
            request.UserAgent = "Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 30.0.1599.101 Safari / 537.36";
            request.ContentType = "application / x-www-form-urlencoded";
            request.AllowAutoRedirect = true;
            request.Headers.Add ("Contenido-Disposición: archivo adjunto; nombre de archivo = 20190608170107.xls");
            request.CookieContainer = cookies;
            request.KeepAlive = true;
            request.Referer = "http://lotus.chinab2bi.com/lotus/sellCsgnsaQry/query.hlt";
            // area = 5 & chequestr = ts6h9 & image.x = 0 & image.y = 0 & passwd = 167167 & userid = rt67690
            // string postData = string.Format ("username = {0} & password = {1} & Validate = {2} & isautologin = 1 & Submit =", txtUserName.Text, txtPassword.Text, txtValidate.Text); // 这里 按照 前面 FireBug 中 查到 的 POST 字符串 做 相应 修改。
            string postData = string.Format ("pageDetail.pageSize = 10000 & vendorId = 30039743 & siteId = & departmentId = & startdate = 2019-06-01 & enddate = 2019-06-08 & saleDateDay = & buytaxno = & menuid = 822 & saleDateType = day & week = ", txtUserName.Text, txtPassword.Text, txtValidate.Text);
            byte [] postdatabyte = Encoding.UTF8.GetBytes (postData);
            request.ContentLength = postdatabyte.Length;

            utilizando (Stream stream = request.GetRequestStream ())
            {
                stream.Write (postdatabyte, 0, postdatabyte.Length);
            }

            Respuesta HttpWebResponse = (HttpWebResponse) request.GetResponse ();

            string strWebData = string.Empty;
            Stream responseStream = response.GetResponseStream ();
            // utilizando ()
            // {
            // strWebData = reader.Read;
            //}


            // Crear una secuencia de escritura de archivo local
            Stream stream1 = new FileStream ("C: \\ 123.xls", FileMode.Create);

            byte [] bArr = nuevo byte [1024];
            int size = responseStream.Read (bArr, 0, (int) bArr.Length);
            while (size> 0)
            {
                stream1.Write (bArr, 0, size);
                size = responseStream.Read (bArr, 0, (int) bArr.Length);
            }
            stream1.Close ();
            responseStream.Close ();

21 artículos originales publicados · 21 alabanzas · 40,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/kuyz1/article/details/91348472
Recomendado
Clasificación