2014-11-06 97 views
0

我想從一個服務器上下載一些文件,該服務器有一個用於PowerPoint Addin的2階段驗證,我正在嘗試開發。從2級驗證受保護的服務器下載文件

首先,我登錄到工作區通過瀏覽器...

在該瀏覽器我可以調用一個.txt文件和內容被顯示在瀏覽器 - 偉大的!

在我的PowerPoint外接程序然後我有以下代碼下載一個PP文件並打開它...

Globals.ThisAddIn.Application.Presentations.Open(@"https://workspace2.blahblah.com/group/corenarratives/Shared%20Documents/corenarratives/BlankPresentationTemplate.pptx"); 

此下載PPTX文件並打開它完美!太好了!

然後我嘗試下載一個.txt文件與此代碼:

WebClient wc = new WebClient(); 
wc.DownloadFile("https://workspace2.blahblah.com/group/corenarratives/Shared%20Documents/corenarratives/rts.txt", @"C:\trev\trev.txt"); 

和文件的內容包含了HTML錯誤頁面...

當我保存.txt文件作爲一個.html文件,並在瀏覽器中打開它將我重定向到工作區登錄頁面...

我不明白爲什麼PowerPoint文件打開和.txt文件不?

而且,如果可能的話,如何下載.txt文件?

任何人都可以幫忙嗎?

謝謝

+0

「包含HTML錯誤頁面」:什麼是錯誤頁面說呢? – 2014-11-06 14:34:40

+0

一個頁面說我將被重定向...當我在瀏覽器中打開它時,它會將我重定向到工作區登錄頁面 – 2014-11-06 14:36:54

+0

因此,您尚未登錄(只要服務器知道)。可能它期望一個包含請求的登錄cookie。 – 2014-11-06 14:40:15

回答

0

可以發表一個答案我會形容爲「進行中」?

我知道我嘰嘰喳喳誰真正知道他的東西的傢伙。

不是很好的朋友,而是我一直關注很久的人。他寫了小提琴手。

所以,我伸出脖子問他。

這就是他說的。

「使用Fiddler觀看每個場景的流量.PPT是否發送代碼需要發送的Cookie,Auth頭或用戶代理?

「WebClient不是基於WinINET/URLMon。PowerPoint下載(經常)是,這意味着它獲取cookie,UA字符串等。」

「PowerPoint具有從URLMon/WinINET繼承的Cookie和自動身份驗證行爲。」

其中,如果我理解正確的話,解釋了爲什麼PowerPoint可以下載一個文件..

我想。

更新:

最後我實現這個:

Is it possible to transfer authentication from Webbrowser to WebRequest

HTH