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 ();