我有以下代码:
Function filejson(json)
Dim objStream, strData
Set objStream = CreateObject("ADODB.Stream")
objStream.CharSet = "utf-8"
objStream.Open
objStream.LoadFromFile(json)
strData = objStream.ReadText()
filejson = strData
End Function
Function http2json(url)
Set http = CreateObject("Microsoft.XmlHttp")
http.open "GET", url, FALSE
http.send "" '<------- Line 13
http2json=http.responseText
End Function
Function str2json(json,value)
Set scriptControl = CreateObject("MSScriptControl.ScriptControl")
scriptControl.Language = "JScript"
scriptControl.AddCode("x="& json & ";")
str2json= scriptControl.Eval( "x"& value )
End Function
Function get_json_from_file(json,value)
get_json_from_file=str2json(filejson(json),value)
End Function
Function get_json_from_http(url,value)
get_json_from_http=str2json(http2json(url),value)
End Function
Function save_json_from_http(url,loc)
Set fso = CreateObject("Scripting.FileSystemObject")
fullpath = fso.GetAbsolutePathName(loc)
Dim objStream, strData
Set objStream = CreateObject("ADODB.Stream")
objStream.CharSet = "utf-8"
objStream.Open
objStream.WriteText http2json(url)
objStream.SaveToFile fullpath, 2
save_json_from_http=fullpath
End Function
Wscript.Echo save_json_from_http("http://api.themoviedb.org/3/authentication/session/new?api_key=#####some_api_key_example#####&request_token=#####some_default_request_token######&_ctime_json_=1372670635.164760555","tmdb\temp\_tmdb_sock_w.164519518.2109")
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我收到以下错误.

如果我删除&request_token=#####some_default_request_token######它工作正常.
我也尝试了这个:我再次添加了request_token,我只是在其中键入了一个随机字符,例如,rexfuest_token奇怪的是它有效.似乎msxml3.dll中有一个错误的解析.with request_token word.
想法?
jsx*_*sxt 21
此问题可能与Windows中的安全问题有关.解决它的最好办法是更换Microsoft.XmlHttp/ MSXML2.XMLHTTP带MSXML2.ServerXMLHTTP.
我看到这个主题已经有近2年的历史了,很可能主题首发已经解决了问题.几小时前我遇到过同样的问题,谷歌为我提供了几个链接.其中有一些:
Ans*_*ers 16
尝试使用更新版本:
Set http = CreateObject("Msxml2.XMLHttp.6.0")
Run Code Online (Sandbox Code Playgroud)
它也可能是您的Internet安全设置的问题(请参阅此处).在"控制面板"中打开" Internet选项"小程序,在" 安全"选项卡中选择网站区域(可能是"受信任的站点"),然后单击" 自定义级别...".

在其他部分中,将跨域的访问数据源设置为已启用.
