2010-11-11 52 views
1

我想創建一個履帶從網站下載一些內容。元刷新下載/ c#履帶

假設URL消耗是一樣的東西

clickUrl ="http://www.example.com/idocs-nph/search/pdfViewerForm.html?args=5C7QrtC22wGYK2xFpSwMnXdtvSoClrL8xJKSjjboeVQpCCmqt4mgGEHlbmahCJFQEmRQwePEviF8EeCoaT0MAKztT3Sb63xk3VkL3PiCQ3RLoVYQqjKiogfu8Gq1RKKQmyoZK8o4WQM0kj-3nPY6gOqNXOY8VS4VhacAYKom_mBgul0xmRvgLA.."; 

上的Web瀏覽器,下載執行包含刷新META

<meta http-equiv="REFRESH" content="0;url=http://www.example.com/idocs-nph/search/pdfViewerForm.html?args=5C7QrtC22wGYK2xFpSwMnXdtvSoClrL8xJKSjjboeVQpCCmqt4mgGEHlbmahCJFQEmRQwePEviF8EeCoaT0MAKztT3Sb63xk3VkL3PiCQ3TmKpPQrAvPZQfu8Gq1RKKQmyoZK8o4WQMl05IxFu8XBzuJ49RIAPXJ8d-HneKenBQ-TKbP_e17qQ.."/> 

返回HTML頁面和瀏覽器向一個文件名保存文件

在我的履帶代碼上,

我開的WebRequest到CLICKURL,

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(clickUrl); 

我發現和使用新的WebRequest, 按照整理的網址,但響應也含有REFRESH META,而不是實際的文件(相當遞歸)一個新的HTML

的HttpWebRequest不包含任何cookie

回答

1

這極有可能是該網站正在檢查餅乾。發生這種情況的原因是,當您向某人發送下載文件的鏈接時,收件人仍然會在他或她可以下載該文件之前被定向到該網站。

Sourceforge在這裏做了一些有趣的事情,可能有所幫助。如果從Sourceforge下載文件,則會出現在您描述的頁面上。但是,如果使用wget打開完全相同的頁面,則會看到它確實加載了該文件。它檢測到你不是一個普通的瀏覽器並向你發送這個文件(這個HTML不會對wget有任何好處,它不會看廣告)。

我建議你嘗試以下操作。當你找到一個有這樣的重定向的頁面時,重定向到它。如果您檢測到您獲得了相同的內容,請在沒有用戶代理的情況下再次嘗試。也許這實際上會給你的文件。