简体   繁体   English

从网站下载文件

[英]Downloading file from website

I have to download a file from a website. 我必须从网站下载文件。 I got the authentication part done. 我完成了身份验证部分。 For the file download I do not have a link to a file like http://whatever.com/file.xlsx 对于文件下载,我没有指向http://whatever.com/file.xlsx类的文件的链接

i have a url like this: 我有这样的网址:

http://whatever.com?b_action=cognosViewer&ui.action=view&ui.object=defaultOutput(CAMID(%22eBO%3au%3a11842%22)%2ffolder%5b%40name%3d%27My%20Folders%27%5d%2freport%5b%40name%3d%27AppointmentFacility%27%5d)&ui.name=AppointmentFacility&ui.format=spreadsheetML

this is the code i am using to downoald the file 这是我用来整理文件的代码

public void downloadFile(string url, string fileName)
{
    // Create a request using a URL that can receive a post. 
    request = (HttpWebRequest)HttpWebRequest.Create(url);
    request.CookieContainer = cookieContainer;
    // Set the Method property of the request to GET.
    request.Method = "GET";
    // Get the response.
    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    {
        using (Stream responseStream = response.GetResponseStream())
        {
            using (StreamReader reader = new StreamReader(responseStream))
            {
                using (StreamWriter writer = new StreamWriter(fileName, false))
                {
                    writer.Write(reader.ReadToEnd());
                    writer.Flush();
                    writer.Close();
                }
            }
            responseStream.Close();
        }
        response.Close();
    }
}

but the downloaded file only contains: 但是下载的文件仅包含:

Your report is ready and will download to your Web browser in a few moments. 您的报告已准备就绪,不久后将下载到Web浏览器。

if I paste the link in chrome, it shows me a web page with : Your report.... and then starts the download. 如果我将链接粘贴到chrome中,则会显示一个网页:您的报告...,然后开始下载。

Thank you so much for all the help! 非常感谢您提供的所有帮助!

Update: i did the Chrome crtl+shift+i -> network 更新:我做了Chrome crtl + shift + i->网络

the url of the reports is : whatever.com/p2pd/servlet/dispatch/gd/CAFS3c00000054FAAAACBugIFfTwbt-vZG2RFR7xOa6-wlAebBE523zHThH-tlqz0TrwhgYlE_H4sIAAAAAAAAALMODfLxdNFQ8svyNPXNyq-wrQqt9A2JLPcNcaz0q-Kt8s*KNPGtcrRV0gQAGDKw6yoAAAA_/ 报告的网址是:what.com/p2pd/servlet/dispatch/gd/CAFS3c00000054FAAAACBugIFfTwbt-vZG2RFR7xOa6-wlAebBE523zHThH-tlqz0TrwhgYlE_H4sIAAAAAAAAALALffxxNFQQQ9QAQTQQ1QAQTQWQQ1QW1QK1Q1QW1QK1Q1Q1A0C9K0Q1A0C4K1Q1A0C0W1E0C0C0C9B9B9C9

if i log in on ie and paste the url, it shows me a firewall error.. was looking at the session info's to see it it puts them in the link which it does not. 如果我登录即粘贴网址,则显示防火墙错误..正在查看会话信息以查看是否将其放置在链接中,但链接没有。

This is the heaeder Information: 这是先知信息:

GET /p2pd/servlet/dispatch/gd/CAFS3c00000054FAAAACBugIFfTwbt-vZG2RFR7xOa6-wlAebBE523zHThH-tlqz0TrwhgYlE_H4sIAAAAAAAAALMODfLxdNFQ8svyNPXNyq-wrQqt9A2JLPcNcaz0q-Kt8s*KNPGtcrRV0gQAGDKw6yoAAAA_/ HTTP/1.1 GET / p2pd / servlet / dispatch / gd / CAFS3c00000054FAAAACBugIFfTwbt-vZG2RFR7xOa6-wlAebBE523zHThH-tlqz0TrwhgYlE_H4sIAAAAAAAAALMODfLxdNFQ8svyNPXNyq_wrQQtt1A0QW1QQK1K0QK1QQK1K0QQK1Q0K1QQK1Q0K1Q1K0QQK1K0K1Q1K0QQK1K0K

Host: whatever.com 主持人:whatever.com

Connection: keep-alive 连接:保持活动状态

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4 用户代理:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.4(KHTML,例如Gecko)Chrome / 22.0.1229.94 Safari / 537.4

Accept: text/html,application/xhtml+xml,application/xml;q=0.9, / ;q=0.8 接受:text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8

Referer: https://whatever.com/p2pd/servlet/dispatch 引荐来源: https//whatever.com/p2pd/servlet/dispatch

Accept-Encoding: gzip,deflate,sdch 接受编码:gzip,deflate,sdch

Accept-Language: en-US,en;q=0.8 接受语言:en-US,en; q = 0.8

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 接受字符集:ISO-8859-1,utf-8; q = 0.7,*; q = 0.3

Cookie: cam_passport=101:1212028e-a300-b0b0-9a59-6b86b56842dd:2388506829; Cookie:cam_passport = 101:1212028e-a300-b0b0-9a59-6b86b56842dd:2388506829; cea-ssa=false; cea-ssa = false; usersessionid=AQgAAAAZQaJQGUGiUAoAAADgMgQRkOeDfHCJFAAAACBugIFfTwbt/vZG2RFR7xOa6/wlFAAAAAhIMT47wEMbibXlyTAd0JuxNeln; usersessionid = AQgAAAAZQaJQGUGiUAoAAADgMgQRkOeDfHCJFAAAACBugIFfTwbt / vZG2RFR7xOa6 / wlFAAAAAhIMT47wEMbibXlyTAd0JuxNeln; CRN=listViewSeparator%3Dnone%26displayMode%3Dlist%26timeZoneID%3DCST%26format%3DHTML%26automaticPageRefresh%3D30%26columnsPerPage%3D3%26productLocale%3Den%26useAccessibilityFeatures%3Dfalse%26showWelcomePage%3Dtrue%26showOptionSummary%3Dfalse%26showHiddenObjects%3Dfalse%26contentLocale%3Den%26skin%3Dcorporate%26linesPerPage%3D15%26; CRN = listViewSeparator%3Dnone%26displayMode%3Dlist%26timeZoneID%3DCST%26format%3DHTML%26automaticPageRefresh%3D30%26columnsPerPage%3D3%26productLocale%3Den%26useAccessibilityFeatures%3Dfalse%26showWelcomePage%3Dtrue %% D %% 26%D %%% D %% D%26%D %% D %% D%D %% D% 26skin%3Dcorporate%26linesPerPage%3D15%26; userCapabilities=7c6d%3B6f%3Bff071efa%26ARQAAAAgboCBX08G7f72RtkRUe8Tmuv8JQBBkqOE98nKAPC1mu7HFx2kwsKb; userCapabilities = 7c6d%3B6f%3Bff071efa%26ARQAAAAgboCBX08G7f72RtkRUe8Tmuv8JQBBkqOE98nKAPC1mu7HFx2kwsKb; caf=CAFW000000b0Q0FGQTNjMDAwMDAwM2FGQUFBQUNCdWdJRmZUd2J0LXZaRzJSRlI3eE9hNi13bFRtOGJUc0pHalZqSW1mSWZ0VHg3emhkKnpMOF8zNzU2MTJ8MTAxOjEyMTIwMjhlLWEzMDAtYjBiMC05YTU5LTZiODZiNTY4NDJkZDoyMzg4NTA2ODI5; CAF = CAFW000000b0Q0FGQTNjMDAwMDAwM2FGQUFBQUNCdWdJRmZUd2J0LXZaRzJSRlI3eE9hNi13bFRtOGJUc0pHalZqSW1mSWZ0VHg3emhkKnpMOF8zNzU2MTJ8MTAxOjEyMTIwMjhlLWEzMDAtYjBiMC05YTU5LTZiODZiNTY4NDJkZDoyMzg4NTA2ODI5; cc_session=s_cc:|s_conf:na|s_sch:td|s_hd:sa|s_serv:na|s_disp:na|s_set:|s_dep:na|s_dir:na|s_sms:dd|s_ct:sa|s_cs:sa|s_so:sa|e_hp:CAMID(*22eBO*3au*3a11842*22)|e_proot:Public*20Folders|prootid:i9E956E6B64DA4217A97F144A433887C1|e_mroot:My*20Folders|mrootid:iD973C48427A94A9AAFB17F9016C8A62A|e_mrootpath:CAMID(*22eBO*3au*3a11842*22)*2ffolder*5b*40name*3d*27My*20Folders*27*5d|e_user:FirstName*20LastName|cl:en|dcid:i9E956E6B64DA4217A97F144A433887C1|show_logon:false|uig:|ui:|write:true|eom:0|pp:2388506829|cachestamp:2012-11-06T07:46:19; cc_session = s_cc:| s_conf:na | s_sch:td | s_hd:sa | s_serv:na | s_disp:na | s_set:| s_dep:na | s_dir:na | s_sms:dd | s_ct:sa | s_cs:sa | s_so: sa | e_hp:CAMID(* 22eBO * 3au * 3a11842 * 22)| e_proot:Public * 20Folders | prootid:i9E956E6B64DA4217A97F144A433887C1 | e_mroot:My * 20Folders | mrootid:iD973C48427A94A9AAFB17F9016 2ffolder * 5b * 40name * 3d * 27My * 20Folders * 27 * 5d | e_user:FirstName * 20LastName | cl:en | dcid:i9E956E6B64DA4217A97F144A433887C1 | show_logon:false | uig:| ui:| write:true | eom:0 | pp: 2388506829 | cachestamp:2012-11-06T07:46:19; ARAHHC-eBO=ARAHHC-Arka-eBO2 ARAHHC-eBO = ARAHHC-Arka-eBO2

you can work with firebug and see the requests being issued from the browser. 您可以使用Firebug,并查看浏览器发出的请求。 notice that the page you think creates the report is actually generating a second request to the report file itself. 请注意,您认为创建报告的页面实际上是在向报告文件本身生成第二个请求。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM