2012-11-06 11 views
1

웹 사이트에서 파일을 다운로드해야합니다. 나는 인증 부분을 마쳤다.웹 사이트에서 파일 다운로드

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 

이 내가 파일

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(); 
    } 
} 
에게 downoald을 사용하고있는 코드입니다 : 파일 다운로드를 위해 나는이 같은 URL이 http://whatever.com/file.xlsx

같은 파일에 대한 링크가 없습니다

하지만 다운로드 한 파일에는 다음 내용 만 포함됩니다.

보고서가 준비되어 있으며 다음 웹 브라우저에서 다운로드 할 수 있습니다. 순간.

크롬에 링크를 붙여 넣으면 내 웹 페이지가 다음과 같이 표시됩니다. 보고서 ... .... 그리고 다운로드를 시작합니다.

많은 도움을 주셔서 감사합니다. 업데이트

: 내가 + 내가 크롬 CRTL + 이동을했다 -> 네트워크

보고서의 URL은 다음과 같습니다 whatever.com/p2pd/servlet/dispatch/gd/CAFS3c00000054FAAAACBugIFfTwbt-vZG2RFR7xOa6-wlAebBE523zHThH-tlqz0TrwhgYlE_H4sIAAAAAAAAALMODfLxdNFQ8svyNPXNyq -wrQqt9A2JLPcNcaz0q-Kt8s * KNPGtcrRV0gQAGDKw6yoAAAA_/​​

내가 예에 로그인하고 URL을 붙여 넣으면, 그것은 나에게 방화벽 오류가 표시됩니다 .. 은 그렇지 않은 링크에서 그들을두고 그것을보고 세션 정보의보고 있었다 .

GET/P2PD/서블릿/파견/GD/CAFS3c00000054FAAAACBugIFfTwbt-vZG2RFR7xOa6-wlAebBE523zHThH-tlqz0TrwhgYlE_H4sIAAAAAAAAALMODfLxdNFQ8svyNPXNyq-wrQqt9A2JLPcNcaz0q-Kt8s * KNPGtcrRV0gQAGDKw6yoAAAA_/​​HTTP/1.1

호스트 : whatever.com

는 heaeder 정보입니다

연결 : 연결 유지

사용자 에이전트 : 모질라/5.0 (윈도우 NT 6.1; WOW64) AppleWebKit/537.4 (게코 같은 KHTML) 크롬/22.0.1229.94 사파리/537 0.4

동의 : text/html과, 응용 프로그램/XHTML + XML, 응용 프로그램/XML, Q = 0.9, /, Q = 0.8

리퍼러 : https://whatever.com/p2pd/servlet/dispatch

수락 - 인코딩 : gzip을, SDCH, 폐

수락 - 언어 : EN-US, 욕실, Q =

0.8 수락 - 캐릭터 세트를 : ISO-8859-1, UTF-8, Q = 0.7, *, Q = 0.3

쿠키 : cam_passport = 101 : 1212028e-a300-b0b0-9a59-6b86b56842dd : 2388506829; cea-ssa = false; usersessionid = AQgAAAZQaJQGUGiUAoAAADgMgQRkOeDfHCJFAAAACBugIFfTwbt/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; userCapabilities = 7c6d % 3B6f % 3Bff071efa % 26ARQAAAAgboCBX08G7f72RtkRUe8Tmuv8JQBBkqOE98nKAPC1mu7HFx2kwsKb; CAF = CAFW000000b0Q0FGQTNjMDAwMDAwM2FGQUFBQUNCdWdJRmZUd2J0LXZaRzJSRlI3eE9hNi13bFRtOGJUc0pHalZqSW1mSWZ0VHg3emhkKnpMOF8zNzU2MTJ8MTAxOjEyMTIwMjhlLWEzMDAtYjBiMC05YTU5LTZiODZiNTY4NDJkZDoyMzg4NTA2ODI5; s_sv : na | s_sd : na | s_sd : na | s_sd : sd : s_sv : sa | s_sp : SA | e_hp : CAMID (* 22eBO * 3au * 3a11842 * 22) | e_proot : 공공 * 20Folders | prootid : i9E956E6B64DA4217A97F144A433887C1 | e_mroot : 내 * 20Folders | mrootid : iD973C48427A94A9AAFB17F9016C8A62A | e_mrootpath : CAMID (* 22eBO * 3au * 3a11842 * 22) * 2folder * 5b * 40name * 3d * 27My * 20Folders * 27 * 5d | e_user : 이름 * 20LastName | cl : en | dcid : i9E956E6B64DA4217A97F144A433887C1 | show_logon : false | uig : | ui : | write : true | 2388506829 | cachestamp : 2012-11-06T07 : 46 : 19; ARAHHC-eBO = ​​ARAHHC-Arka-eBO2

+1

파일 자체의 URL로 가야합니다. URL이 해당 위치로 리디렉션되는 것 같습니다. – AMember

+0

'100 - 계속 '을 되 찾으시겠습니까? –

+0

@AMember, 보고서로 보입니다. 따라서 보고서가 생성 될 가능성이 큽니다. –

답변

0

당신은 방화 광구로 작업하고 브라우저에서 발행 된 요청을 볼 수 있습니다. 보고서를 생성한다고 생각하는 페이지가 실제로 보고서 파일 자체에 대한 두 번째 요청을 생성하고 있음을 알 수 있습니다.

관련 문제