2011-12-12 2 views
1

ビデオ(.3gp)にリダイレクトするページがあります。問題は(私が言うことができるから)、元のページからの要求を開始した後、私は非常に遅い応答を得る。私はこれは、Webリクエストがダウンロードするデータを待つためだと思います。ここに私のコードは次のとおりです。HttpWebRequestを使用して、ページ全体が読み込まれるのを待つのではなく、リダイレクトURLを取得します。

 System.Uri targetUri = new System.Uri(TextBlockTargetUri.Text); 
     HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(targetUri); 
     request.AllowReadStreamBuffering = true; 
     request.AllowAutoRedirect = true; 
     request.BeginGetResponse(new AsyncCallback(ReadWebRequestCallback), request); 

private void ReadWebRequestCallback(IAsyncResult callbackResult) 
     { 
      HttpWebRequest myRequest = (HttpWebRequest)callbackResult.AsyncState; 
      HttpWebResponse myResponse = (HttpWebResponse)myRequest.EndGetResponse(callbackResult); 


      using (StreamReader httpwebStreamReader = new StreamReader(myResponse.GetResponseStream())) 
      { 
       string stuff2 = myResponse.ResponseUri.AbsoluteUri; 
       Dispatcher.BeginInvoke(() => TextBlockResults.Text = stuff2); 
      } 
      myResponse.Close(); 
     } 

私が使用しているプレイヤーはその1のストリーミング方式を持っているので、私はダウンロードするビデオ全体を待つべきではありませんので、私は、URLが必要です。リダイレクトURLだけを取得してビデオを待つことはできますか?

答えて

2

あなたはHEAD HTTPメソッドを使用することができ、ちょうど行います

request.Method = "HEAD"; 

この方法は

+0

が魅力のように働いたヘッダーだけを返すようにサーバーを要求します!どうもありがとう!私は10分で答えを承認する:) – Alex

関連する問題