簡體   English   中英

WebClient.DownloadFile 對 URI 的要求究竟是什么?

[英]WebClient.DownloadFile requires what exactly for the URI?

我對代碼很好,它適用於我的其他解決方案。 我有一個知識空白,因為我不明白什么是 URI。 這應該有效,但不起作用:

https://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download

現在我在想這不是一個文件嗎? 不過,將上述內容扔到瀏覽器會提供一個文件。 異常消息是“基礎連接已關閉:接收時發生意外錯誤。”

        String address = "https://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download";

.....

        using (WebClient Client = new WebClient())
        {
            try
            {
                Client.DownloadFile(address, destPath + filename);
            }
            catch (Exception ex)
            {
                Log.Line("Error: " + ex.Message);
                return 1;
            }
        }

URI: 此鏈接

您有一個完全有效的 URI。 目標服務器可能會以與您預期不同的方式響應請求。 例如,取決於您的網絡客戶端。 要調試此類問題,請使用curl

curl -v https://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download

上面的命令顯示服務器沒有回復預期的 csv 文件。 這在您的代碼中不是問題。 您可以嘗試使用 curl -H 標志假裝不同的用戶代理或設置一些重定向選項,直到到達那里。

在您的特定情況下,標題Accept-Encoding: gzip似乎可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM