我需要使用来自Yahoo API的历史报价来创建一个数据库,它返回一个.csv文件,因此我使用webclient.downloadfile开发了一个VB.NET项目来获取csv然后将数据填充到我自己的SQL数据库中。
我的代码工作正常,但我遇到的问题是,在每个循环期间下载文件本身的过程需要10到30秒。在阅读了很多线程之后我已经添加了
(WebClient).Proxy = Nothing
表单加载,但这根本没有帮助。
如果我要在浏览器(IE / Chrome)中下载这些文件,则在保存对话框出现之前只需不到一秒钟。
以下是我用来完成此任务的内容,省略了不重要的代码:
Dim GetIDCMD As String = "select StockID from dbo.[BaseData] where MarketType = 'SHA'"
Dim GetIDAdpt As SqlDataAdapter = New SqlDataAdapter(GetIDCMD, conn)
Dim DT As New DataSet
GetIDAdpt.Fill(DT, "Set")
For i = 0 To DT.Tables("Set").Rows.Count - 1 Step 1
StockID = StrDup(6 - Len(DT.Tables("Set").Rows(i).Item(0).ToString), "0") & Trim(DT.Tables("Set").Rows(i).Item(0).ToString)
Dim urlcsv = "http://ichart.yahoo.com/table.csv?s=" & StockID & ".ss&a=00&b=01&c=2004&d=" & Now.Month - 1 & "&e=" & Now.Day & "&f=" & Now.Year & "&g=d"
' sample URL http://ichart.yahoo.com/table.csv?s=600030.ss&a=00&b=01&c=2004&d=11&e=15&f=2014&g=d&ignore=.csv
Try
WEB.DownloadFile(urlcsv, "TEMP.csv")
success = True
'''
Catch ex As Exception
templog = Mid(ex.ToString(), 1, InStr(ex.ToString, vbCrLf)) & vbCrLf
success = False
'''
End Try
If success = True Then
'''
End If
Next
这有什么可以做我的互联网连接设置吗?
如果我使用HttpWebRequest会更快吗?