1

テキストファイルをダウンロードしようとすると、次のような悪いテキストが表示されます"úěć˨Të€Ás…­žVż$—éxś¶źŹßCb}㬖92á•,˝V....."

私は WebClient クラスを使用します:

private void button1_Click(object sender, EventArgs e)
{
    WebClient _WebClient = new WebClient();
    string url = "http://bossa.pl/pub/metastock/forex/sesjafx/";
    string file= "20120601.prn";
    _WebClient.DownloadFile(url + file, @"C:\"+file);
}

file には問題ありません20120603.prnが、20120601.prnあります。何が起こっているのですか?

4

3 に答える 3

2

このようなものが必要です

client.Encoding = Encoding.GetEncoding("your encoding");
于 2012-06-09T12:12:44.033 に答える
2

WebClient.DownloadData を介して gzip 応答を自動的に解凍するの複製

基本的に、Web クライアントの自動解凍を有効にする必要があります。ファイル 20120601.prn の応答ヘッダーを (たとえば、firebug または fiddler を使用して) 調べると、gzip Content-Encoding が返されます。ファイル 20120603.prn では、Content-Encoding ヘッダーがまったくありません。

void Main()
{
    WebClient _WebClient = new MyWebClient(); 
    string url = "http://bossa.pl/pub/metastock/forex/sesjafx/"; 
    string file= "20120601.prn";
    string a = _WebClient.DownloadString(url + file); 
}

class MyWebClient : WebClient 
{ 
    protected override WebRequest GetWebRequest(Uri address) 
    { 
        HttpWebRequest request = base.GetWebRequest(address) as HttpWebRequest; 
        request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; 
        return request; 
    } 
} 
于 2012-06-09T12:23:02.387 に答える
1

エンコーディングをUTF8に設定します

_WebClient.Encoding = System.Text.Encoding.UTF8;
于 2012-06-09T12:16:12.140 に答える