2016-07-08 11 views
0

私はこの1つを試してみることに努めました。助けてください!DropboxファイルにアクセスするWebRequestのタイムアウト。ブラウザはリンクを細かくダウンロードできます

私はドロップボックスファイルの共有リンクを持っています。そのSQL Server Expressセットアップだけでライブリンクを共有する心配はありません。

ブラウザが正常にダウンロードできます...ファイルはChromeでダウンロードされ始めます。

https://www.dropbox.com/s/7dtg1d2cq9byccm/en_sql_server_2008_r2_express_edition_with_advanced_services_with_service_pack_2_x64_914054.exe.download?dl=1

しかし、その後、私は、標準的なWebRequestクラスを使用してこのファイルをダウンロードしようとすると、接続が毎回タイムアウトします。

ブラウザは、自分のDropboxにログインしていない状態でファイルをダウンロードできます。

WebClient.DownloadFileも失敗するようですので、アドレスに何か問題があるのでしょうか?

私は(しかし、それは呼び出すことはありません)「ServerCertificateValidationCallback」を使用して証明書を検証してみたと私はまた

コードは以下の通りですセキュリティプロトコルを設定しました:

Dim oReq As HttpWebRequest 
oReq = HttpWebRequest.Create("https://www.dropbox.com/s/7dtg1d2cq9byccm/en_sql_server_2008_r2_express_edition_with_advanced_services_with_service_pack_2_x64_914054.exe.download?dl=1") 
oReq.Timeout = 20000 '20 secs 
oReq.Proxy = Nothing 'Specifically setting proxy to null can speed up the request (Src: StackOverflow) 

''Setup credentials to avoid 401 error 
oReq.UseDefaultCredentials = True 
''oReq.PreAuthenticate = True 
oReq.Credentials = CredentialCache.DefaultCredentials 

'oReq.ContentType = "application/xml" 

'oReq.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" 
'oReq.ProtocolVersion = HttpVersion.Version10 
'oReq.Headers.Add("Accept-Language", "en_US") 

'oReq.Method = "GET" 
'oReq.KeepAlive = True 
'oReq.AllowAutoRedirect = True 

'oReq.ReadWriteTimeout = 20000 

Try 
Using oResp As HttpWebResponse = oReq.GetResponse 


End Using 

Catch exWebTimeout As System.Net.WebException 

End Try 

私はしましたコメントをたくさん残して、みんなが私が何を試したか見ることができます!

ありがとうございます!

答えて

0

これは、ファイルが1,000 MBを超え、タイムアウトが20秒に設定されているためです。私はTimeoutが、要求が20秒以内に完了しない場合にトリガーとなり、このファイルがその時間には確実にダウンロードされないと考えています。私はあなたが20秒以内にダウンロードできることを知っている、はるかに小さいファイルをダウンロードしようとすると、それが動作するかどうかを確認します。

関連する問題