1
私はHTTPプロトコルのダウンロード方法を持っています。しかし、それは正しく動作しないようですが、何かが間違っています。私はいくつかのURLソースでそれをテストし、それは最後のものを除いて正しいです。 URLにはContentLength
プロパティが間違っています。実行時には210 KBと表示されますが、実際には8 MBです。私は自分のコードを共有することでそれを示します。それを修正するには?ContentLengthのHttpWebResponseが間違っています
コード:
void TestMethod(string fileUrl)
{
HttpWebRequest req = WebRequest.Create(fileUrl) as HttpWebRequest;
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
long contentSize = resp.ContentLength;
MessageBox.Show(contentSize.ToString());
}
private void TestButton_Click(object sender, EventArgs e)
{
string url1 = "http://www.calprog.com/Sounds/NealMorseDowney_audiosample.mp3";
string url2 = "http://www.stephaniequinn.com/Music/Canon.mp3";
TestMethod(url1); //This file size must be 8 MB, but it shows up as 210 kb. This is the problem
TestMethod(url2); //This file size is correct here, about 2.1 MB
}
正常に動作します。 'StreamReader'は、ファイルがダウンロードされるのを待つので、私は' StreamReader'を好きではありませんでした。 'UserAgent'の設定はより良く、正しいサイズを返すことができます。最後に、このMozillaの 'UserAgent'はすべてのHttpソースに対して機能しますか?私はそれが一般化される必要があるからです。ありがとう@クエンティン。 –
はいこのユーザーエージェントはすべてのhttpソースで動作します。 (URLに標準ブラウザでアクセスできる場合) –
クイック返信ありがとう!細かい答え –