如何在VBScript

时间:2018-12-14 17:19:51

标签: vbscript

如何使用send方法发送二进制数据? 显然,它将数据视为字符串,并且在遇到NULL字符时停止,该字符在二进制数据中是合法的。最终,并非所有数据都会发送出去。如果是这样,我该如何设置要发送的数据大小?

Set oHTTP = Createobject( "WinHttp.WinHttpRequest.5.1" )
oHTTP.Open "PUT", myURL, False
oHTTP.Send binaryData

例如,假设从文件中读取binaryData,其大小为binaryDataSize个字节。

2 个答案:

答案 0 :(得分:2)

您可以使用ADODB.Stream对象和适当的内容类型标题发送文件:

Const adTypeBinary = 1

Set request = CreateObject("WinHttp.WinHttpRequest")
Set dataStream = CreateObject("ADODB.Stream")

dataStream.Type = adTypeBinary
dataStream.Open
dataStream.LoadFromFile "C:\path\to\your.file"

request.Open "PUT", "http://your/url"
request.SetRequestHeader "Content-Type", "application/octet-stream"
request.Send dataStream

答案 1 :(得分:1)

不幸的是,VBScript没有正确的例程来处理二进制文件。 作为解决方法,您可以使用一些方法来读取此处Read and write binary file in VBscript

中所述的二进制文件

如果仍然不能解决问题,则可以在发送Base64 Encode String in VBScript之前使用base64对数据进行编码