从https使用VB.net下载文件
任何人都可以帮助我吗?从https使用VB.net下载文件
我需要从网上下载文件,例如https:\ www.xxx.com \使用vb.net并将其保存到系统的C盘。
下面是代码:
Dim URI As String = ftpHost & ftpFile
Dim oRequest As System.Net.HttpWebRequest = CType(HttpWebRequest.Create(URI), HttpWebRequest)
oRequest.Credentials = New System.Net.NetworkCredential(userName, pwd)
Using oResponse As System.Net.WebResponse = CType(oRequest.GetResponse, System.Net.WebResponse)
Using responseStream As IO.Stream = oResponse.GetResponseStream
Using fs As New IO.FileStream(localFile, FileMode.Create, FileAccess.Write)
Dim buffer(2047) As Byte
Dim read As Integer
Do
read = responseStream.Read(buffer, 0,buffer.Length)
fs.Write(buffer, 0, read)
Loop Until read = 0
responseStream.Close()
fs.Flush()
fs.Close()
End Using
responseStream.Close()
End Using
oResponse.Close()
End Using
但这不是读书什么。
在此先感谢。
我跑你的代码https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js下载最新的jQuery库,一切工作正常。我使用了一个虚拟的用户名/密码'name'/'pwd'。我唯一能想到的是你的凭证是无效的。如果你改变你的代码来下载我上面提到的jQuery文件,它是否工作?如果是这样,我会看看你传递的信誉,以及你在服务器端如何处理它们。
希望这会有所帮助。
---修改后的代码---
Dim URI As String = "https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"
Dim oRequest As System.Net.HttpWebRequest = CType(HttpWebRequest.Create(URI), HttpWebRequest)
oRequest.Credentials = New System.Net.NetworkCredential("name", "pwd")
Using oResponse As System.Net.WebResponse = CType(oRequest.GetResponse, System.Net.WebResponse)
Using responseStream As IO.Stream = oResponse.GetResponseStream
Using fs As New IO.FileStream("c:\temp\jquery-1.4.2.js", FileMode.Create, FileAccess.Write)
Dim buffer(2047) As Byte
Dim read As Integer
Do
read = responseStream.Read(buffer, 0, buffer.Length)
fs.Write(buffer, 0, read)
Loop Until read = 0
responseStream.Close()
fs.Flush()
fs.Close()
End Using
responseStream.Close()
End Using
oResponse.Close()
End Using
我还注意到的一件事是,如果我更改URL以使用jQuery的CDN(https://code.jquery.com/jquery-1.4.2.min.js),则GetResponse被调用时会出现异常。我认为code.jquery.com证书已过期 - 所以也许这也是一个问题。 – 2010-07-21 18:39:58
请问您的目标网站https://foo.com/bar.txt
本作foo.com
或其他网站的证书?
如果它没有foo.com
的证书,这可能是问题的一部分。
只是好奇,你的变量名为ftpHost,但你使用的是http请求? – Nate 2010-07-21 17:18:41
是的,在我用这个从FTp站点下载之前,懒得去更改var名称:) – Swapnil 2010-07-21 17:38:13