post url http://gyl.nhd-mart.com/Order.aspx?Type=wsdhdpost参数
__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,请大神指教JavaExcelhttpclient

解决方案 »

  1.   


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