通过VB脚本下载文件的问题

时间:2014-01-09 14:44:07

标签: vbscript stream download request call

有人让我写一个脚本,下载一个csv文件并将其保存到本地磁盘。 csv位于具有集成Web服务器的PLC控制器上。您可以通过IP与PLC进行通信并手动获取文件。但是客户想要自动下载它。

我写了以下函数:

Function DownloadFile(strURL)

    Dim oStream
    Dim strSaveTo

    strSaveTo = strLocalPath & "\" & strFilename

    'HTTP Request abschicken
    oHTTP.Open "GET",strURL
    oHTTP.Send()

    If oHTTP.Status = 200 Then  
        Set oStream = CreateObject("ADODB.Stream")  

        With oStream
            .Type = 1   'adTypeBinary
            .Open                       
            .Write oHTTP.ResponseBody   
            .SaveToFile strSaveTo       
            .Close                      
        End With
        set oStream = Nothing
    End If
End Function

它适用于我的测试站点,但不适用于PLC。 我知道原因:

在我的testsite上,路径是这样的:ip / folder / file.csv 但是在PLC上你通过HTML调用文件参数化:ip / htmlPage.html?file = c.csv

现在请求的答案不是csv文件,而是html页面......

如何使用参数化路径获取csv文件?

(抱歉我的英语不好)

1 个答案:

答案 0 :(得分:0)

为什么不使用My.Computer.Network.DownloadFile()
示例:

Function DownloadFile(strURL)

    Dim strSaveTo
    strSaveTo = strLocalPath & "\" & strFilename
    My.Computer.Network.DownloadFile(strURL, strSaveTo)

End Function

您可以使用常规网址方式为获取请求添加参数:http://somerequest.com/?parameter=cool
可以找到DownloadFile()方法的更多信息here