Vb.net Web客户端方法downloadFileAsync显示禁止的错误
在过去的两年里,我一直通过这种方法下载文件,但现在它给出了这个禁止的错误(403)。这是地址:。这是代码:Vb.net Web客户端方法downloadFileAsync显示禁止的错误,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,在过去的两年里,我一直通过这种方法下载文件,但现在它给出了这个禁止的错误(403)。这是地址:。这是代码: wcNseFut.DownloadFileAsync(uriNseFut, strFullFileName) strFullFileName是保存文件的路径。我试了很多,但还没有解决。请帮忙。 完整代码: If CheckValidations() = True Then If CheckNet() Then Dim strFul
wcNseFut.DownloadFileAsync(uriNseFut, strFullFileName)
strFullFileName是保存文件的路径。我试了很多,但还没有解决。请帮忙。
完整代码:
If CheckValidations() = True Then
If CheckNet() Then
Dim strFullFileName As String
dtBhav = CDate(dtBhavcopyDate.Value)
btnNseFuturesDownload.Enabled = False
btnNseFuturesDownload.Text = "Downloading....."
AddHandler wcNseFut.DownloadFileCompleted, AddressOf wcNseFut_DownloadFileCompleted
AddHandler wcNseFut.DownloadProgressChanged, AddressOf wcNseFut_DownloadProgressChanged
MDIStockMIS.UStatusBar.Panels("Text").Text = ""
MDIStockMIS.UStatusBar.Panels("Text").Text = "Downloading file ..........."
''-------- Download NSE future file
''-------- http://www.nseindia.com/content/historical/DERIVATIVES/2014/APR/fo11APR2014bhav.csv.zip
Dim uriNseFut As New Uri(NseFuturesFTPAddress(dtBhav))
strFullFileName = ""
strFullFileName = m_strPathEQ & "\" & BHAVCOPY_NSE_FO_FOLDER & ".zip"
DeleteFile(strFullFileName, False)
wcNseFut.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
wcNseFut.DownloadFileAsync(uriNseFut, strFullFileName)
End If
Else
ShowUltraMessage(Nothing, "Please select the path and enter a valid date.", "Error", MessageBoxButtons.OK, _
MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1, "", "", _
"Check conditions", "Stock MIS")
End If
@肯塔基建议将用户代理添加到webclient头中,这与解决方案非常接近。我只是使用fiddler获得了正确的用户代理,添加了一些网络凭据,然后工作正常。403禁止意味着网站不允许您下载该文件。你能从网络浏览器下载文件吗?我猜网站现在正在阻止你的应用。是的,我可以从浏览器下载文件。可能会设置webclient的用户代理,使网站认为它是下载文件的浏览器。wcNseFut.Headers.Add(“用户代理”,“Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.2;.NET CLR 1.0.3705;)”)我添加了您告知的标题,但现在给出了错误提示:您使用的是代理服务器吗?