post请求下载excel文件

Nil06 2013-05-08 11:47:16


post url http://gyl.nhd-mart.com/Order.aspx?Type=wsdhd

post参数
__EVENTTARGET:
__EVENTARGUMENT:
__VIEWSTATE:....
ctl00%24ContentPlaceHolder1%24btnExcel:%B5%BC%B3%F6Excel
ctl00%24ContentPlaceHolder1%24gvData%24ctl02%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl03%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl04%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl05%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl06%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl07%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl08%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl09%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl10%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl11%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl12%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl13%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl14%24hid:0
ctl00%24ContentPlaceHolder1%24gvData%24ctl15%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl16%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl17%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl18%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl19%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl20%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl21%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl22%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl23%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl24%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl25%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl26%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl27%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl28%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl29%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl30%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl31%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl32%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl33%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl34%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl35%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl36%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl37%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl38%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl39%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl40%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl41%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl42%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl43%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl44%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl45%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl46%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl47%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl48%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl49%24hid:1
ctl00%24ContentPlaceHolder1%24gvData%24ctl50%24hid:1
ctl00%24ContentPlaceHolder1%24PageNavigation1%24txtPageIndex:1
ctl00%24ContentPlaceHolder1%24PageNavigation1%24txtPageSize:50
__PREVIOUSPAGE:dWz7EpRiTzwPvM9i7u_z2A2
__EVENTVALIDATION:.....

String excelurlString = "http://gyl.nhd-mart.com/Order.aspx?Type=wsdhd";
BasicHttpPostProcessor excelPost = null;
String[] viewState = fetchViewStateByUrl(excelurlString);
byte[] excel = new byte[1024];
int m = 0;
try
{
Map<String , String> excelMap = new HashMap<String , String>();
excelMap.put("__EVENTARGUMENT" , "");
excelMap.put("__EVENTTARGET" , "");
excelMap.put("__EVENTVALIDATION" , viewState[1]);
excelMap.put("__PREVIOUSPAGE" , "dWz7EpRiTzwPvM9i7u_z2A2");
excelMap.put("__VIEWSTATE" , viewState[0]);
excelMap.put("ctl00$ContentPlaceHolder1$btnExcel" , "µ¼³öExcel");
for(int i = 0 ; i < amount ; i++)
{
excelMap.put(valueList.get(m) , valueList.get(m+1));
m = m + 2;
}
excelMap.put("ctl00$ContentPlaceHolder1$PageNavigation1$txtPageIndex" , String.valueOf(index));
excelMap.put("ctl00$ContentPlaceHolder1$PageNavigation1$txtPageSize" , "50");
excelPost = new BasicHttpPostProcessor(getHttpclient() , excelurlString , excelMap);
HttpResponse response = excelPost.sendPost();
excel = EntityUtils.toString(response.getEntity()).getBytes();
}
catch(Exception e)
{
if(excelPost != null)
{
excelPost.cancel();
}
e.printStackTrace();
throw new MessageException("抓取失败!");
}
finally
{
if(excelPost != null)
{
excelPost.close();
}
}


哪里有问题,获取不到excel,请大神指教
...全文
247 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nil06 2013-05-16
  • 打赏
  • 举报
回复

String excelurlString = "http://gyl.nhd-mart.com/Order.aspx?Type=wsdhd";
BasicHttpPostProcessor excelPost = null;
String[] viewState = fetchViewStateByUrl(excelurlString);
byte[] excel = new byte[1024];
InputStream inputStream = null;
String excelcontentString = "";
int m = 0;
int len = 0;
try
{
	Map<String , String> excelMap = new HashMap<String , String>();
	excelMap.put("__EVENTTARGET" , "");
	excelMap.put("__EVENTTARGUMENT" , "");
	excelMap.put("__EVENTVALIDATION" , "");
	excelMap.put("__PREVIOUSPAGE" , "dWz7EpRiTzwPvM9i7u_z2A2");
	excelMap.put("__VIEWSTATE" , "");
	excelMap.put("ctl00$ContentPlaceHolder1$btnExcel" , "µ¼³öExcel");
	for(int i = 0 ; i < amount ; i++)
	{
		excelMap.put(valueList.get(m) , valueList.get(m + 1));
		m = m + 2;
	}
	excelMap.put("ctl00$ContentPlaceHolder1$PageNavigation1$txtPageIndex" ,   String.valueOf(index));
	excelMap.put("ctl00$ContentPlaceHolder1$PageNavigation1$txtPageSize" , "50");
	excelPost = new BasicHttpPostProcessor(getHttpclient() , excelurlString , excelMap);
	HttpResponse response = excelPost.sendPost();
	inputStream = response.getEntity().getContent();
	FileOutputStream outputStream = new FileOutputStream(new File("D:\\新华都po.xls"));
	while((len = inputStream.read(excel)) != -1)
	{
		outputStream.write(excel , 0 , len);
	}
	inputStream.close();
	outputStream.close();
}
catch(Exception e)
{
	if(excelPost != {
			excelPost.cancel();
		}
		e.printStackTrace();
		throw new MessageException("抓取失败!");
	}
	finally
	{
		if(excelPost != null)
		{
			excelPost.close();
		}
	}
Nil06 2013-05-09
  • 打赏
  • 举报
回复
没大神指点一下么?- -

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧