模拟网站导出EXCEL文件

问题描述

有一网站,点击导出按钮,就会导出一excel文件现在winform中用HttpWebRequest模拟下载,怎么判断文件的物理地址下载,只从返回的里面找到文件名,以下是网站导出抓包-------------------------------------------------------------------------------------------------------------------------------------------------------------请求URL:http://xxxxxxxx.xxx.cn/command/disxpatcher/com.inspur.mems.comm.cmd.Dataset2ExcelCommand请求方法:POST状态码:200/OK-请求标头Accept:image/gif,image/jpeg,image/pjpeg,application/x-ms-application,application/xaml+xml,application/x-ms-xbap,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/*Accept-Encoding:gzip,deflateAccept-Language:zh-Hans-CN,zh-Hans;q=0.5Cache-Control:no-cacheConnection:Keep-AliveContent-Length:1013Content-Type:application/x-www-form-urlencodedCookie:kgFfW3pPh1qlcJFz2cb18zFlJt4XcQpYdMz7VC8gS9HtpTqpkCFgDNT:1Host:xxxxxxxx.xxx.cnReferer:http://xxxxxxxx.xxx.cn/jsp/mems/xsxxgl/xmcgl/xmcgl.jspUser-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT10.0;Trident/8.0;.NET4.0C;.NET4.0E;.NETCLR2.0.50727;.NETCLR3.0.30729;.NETCLR3.5.30729;SLCC2;MediaCenterPC6.0)以下是响应标头----------------------------------------------------------------------------------------------------------------------------Content-Disposition:attachment;filename="%e7%94%a8%e6%88%b7%e8%8a%b1%e5%90%8d%e5%86%8c.xls"Content-Type:application/octet-stream;charset=UTF-8Date:Mon,21Dec201502:06:08GMTTransfer-Encoding:chunked现在怎么要在winform中模拟下载,应怎么作,是不是要判断文件在网站的物理地址,怎么判断求助大神

解决方案

解决方案二:
不需要,别人都把文件随响应发送给你了,你直接从response里取就行了
解决方案三:
怎么取,没懂,响应里直摇头个文件名称呀
解决方案四:
引用1楼xdashewan的回复:

不需要,别人都把文件随响应发送给你了,你直接从response里取就行了

响应里只有文件名称,怎么取呢
解决方案五:
引用3楼rifleak47的回复:

响应里只有文件名称,怎么取呢

数据在响应头后面,也就是在响应的body里
解决方案六:
你抓到的页面是含有导出Excel按钮的页面,页面点击导出Excel是直接将页面里边的数据做成Excel然后保存。也就是说页面中有你要的数据。如果是数据直接从数据库拉的,那你GG了。因为数据不经过HTTP请求输出到页面,你也抓不到。
解决方案七:
引用5楼LoserOrLeader的回复:

你抓到的页面是含有导出Excel按钮的页面,页面点击导出Excel是直接将页面里边的数据做成Excel然后保存。也就是说页面中有你要的数据。如果是数据直接从数据库拉的,那你GG了。因为数据不经过HTTP请求输出到页面,你也抓不到。

应该在页面里没有,因为出现另存对话框保存后在浏览器下载列表中能看到进度。是不是从什么地方能看到真实的xls文件地址,不然浏览器怎么知道从哪里下载。
解决方案八:
你request这个文件,获得的response响应就含有文件的内容
解决方案九:
引用7楼JustinLiu27的回复:

你request这个文件,获得的response响应就含有文件的内容

不知道服务器上具体地址呀,
解决方案十:
哪位大神指点一下,救命
解决方案十一:
你必须知道,现在的网站设计,返回给你excel文件,并不代表服务器上一定存在这个文件,可能是服务器当时生成的内存流,然后传输过来,所以,你的想法是错误的,正确的做法,楼上的朋友们已经告诉你了
解决方案十二:
引用10楼LinuxCard的回复:

你必须知道,现在的网站设计,返回给你excel文件,并不代表服务器上一定存在这个文件,可能是服务器当时生成的内存流,然后传输过来,所以,你的想法是错误的,正确的做法,楼上的朋友们已经告诉你了

可是抓取的response的响应正文里面并没有呀,另存后会看到下载进度,只是抓不到,

时间: 2025-01-30 10:58:34

模拟网站导出EXCEL文件的相关文章

PHP导入和导出Excel文件

一.PHP导出Excel文件 1:第一推荐无比风骚的PHPExcel,官方网站: http://www.codeplex.com/PHPExcel导入导出都成,可以导出office2007格式,同时兼容2003 2.使用pear的Spreadsheet_Excel_Writer类下载地址: http://pear.php.net/package/Spreadsheet_Excel_Writer此类依赖于OLE,下载地址:http://pear.php.net/package/OLE需要注意的是导

Jsp中的table多表头导出excel文件具体实现

 这篇文章主要介绍了Jsp中的table多表头导出excel文件具体实现,有需要的朋友可以参考一下 首先引入两份JS:copyhtmltoexcel.js以及 tableToExcel.js    代码如下: /*   * 默认转换实现函数,如果需要其他功能,需自行扩展  * 参数:  *      tableID : HTML中Table对象id属性值  * 详细用法参见以下 TableToExcel 对象定义    */ function saveAsExcel(tableID){  var

phpexcel导出excel文件输出求和问题

问题描述 phpexcel导出excel文件输出求和问题 phpexce导出excel文件用求和公式->setCellValue('E2', "=SUM(D4:D100)")输出到E2单元格,我想把这个求和结果变成数值,非公式的,怎么改

asp.net导出excel文件的程序调试没问题但布置时出现问题

asp.net布置导出excel文件的程序,报80070005 8000401A的错误解决方法 .NET导出Excel遇到的80070005错误的解决方法: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005基本上.net导出excel文件,都需要如此配置一下,不配置有的时候没错,而配置后基本应该不会出错. 具体配置方法如下:  1:在服务器上安装office的Excel软件. 

weblogic10.3导出Excel文件内容乱码,求解

问题描述 weblogic10.3导出Excel文件能够正常下载,但内容是乱码的,通过远程登录到服务器上,进入到自建域的war项目运行目录下,打开创建的临时Excel文件,确是正常的内容不乱码,一切显示正常,并且在Tomcat下一切正常(包括下载之后也能正常显示).经过分析有可能是weblogic在输出字节流时,对流进行了管理,也就是说有可能经过了转码,或者控制输出流未输出完正,导制前端下载后因字符格式问题,显示不正常(Excel提示:您尝试打开的文件'test.xls'的格式与文件扩展名指定的

JSP导出Excel文件的方法_JSP编程

本文实例讲述了JSP导出Excel文件的方法.分享给大家供大家参考,具体如下: <%@page import="jxl.Workbook,com.ecc.emp.core.*,com.ecc.emp.data.*,com.ecc.emp.jdbc.ConnectionManager,jxl.format.VerticalAlignment,java.sql.*,jxl.write.*,jxl.format.UnderlineStyle,javax.sql.DataSource"%

php原生导出excel文件的两种方法(推荐)_php实例

第一种方法: $filename='文件名称'; $filetitle='你的标题'; if($_POST){ set_time_limit(10000): $title = ''; ini_set('memory_limit','300M'); header('Content-Type: application/vnd.ms-excel;charset=utf-8'); $name = $title.".xls"; header('Content-Disposition: attac

数据-oracle spool导出excel文件如何转为2003版本

问题描述 oracle spool导出excel文件如何转为2003版本 Oracle spool导出excel数据后,生成的文件是2007版本的,原来的程序导入不进去,有没有方法能直接生成2003版本的文件,或者在linux上,自动把2007版本的xls文件转换为2003 解决方案 可以将excel 2007版本的xlsx文件转换成excel 2003版本的xls文件,用excel 2007及以上版本打开xlsx文件,在保存时选择类型为excel 97-2003文档即可.

用二进制流技术快速导出Excel文件每个单元只能支持255个字

问题描述 用二进制流技术快速导出Excel文件每个单元只能支持255个字 使用二进制流技术快速导出Excel文件http://blog.csdn.net/schhq/article/details/5761802 这种方法在百度上查出不少. 但是我测试发现一个单元格只能支持255个数字或字符,汉字就是127个.超过用office2007打开,那个单元就是显示为空白 这个方法是居于excel哪个版本的?感觉应该是97以前的吧?现在有改进版本的<使用二进制流技术快速导出Excel文件>? 解决方案