我有以下代码:
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")
当我运行此代码时,我收到以下错误。
如果我删除&request_token=#####some_default_request_token######
,它就可以了。
我也尝试了这个:我再次添加了request_token
,我只是在其中输入了一个随机字符,例如rexfuest_token
,奇怪的是它有效。似乎msxml3.dll中有一个错误的解析。 with request_token word。
想法?
答案 0 :(得分:19)
此问题可能与Windows中的安全问题有关。解决此问题的最佳方法是将Microsoft.XmlHttp
/ MSXML2.XMLHTTP
替换为MSXML2.ServerXMLHTTP
。
我看到这个主题已经快2年了,很可能主题首发已经解决了问题。几小时前我遇到过同样的问题,谷歌为我提供了几个链接。其中有一些:
答案 1 :(得分:15)
尝试使用更新版本:
Set http = CreateObject("Msxml2.XMLHttp.6.0")
这也可能是您的互联网安全设置的问题(请参阅here)。在“控制面板”中打开 Internet选项小程序,在安全选项卡中选择网站区域(可能是&#34;受信任的站点&#34;),然后单击自定义级别...... 。
在其他部分跨域访问数据 已启用。
答案 2 :(得分:0)
对我来说,解决方案是在可信站点中添加URL。
Internet Explorer浏览器&gt;工具&gt;互联网选项&gt;安全&gt;可信站点&gt;网站&gt;在&#34;添加此网站到区域下添加URL:&#34;然后单击添加并保存。
答案 3 :(得分:0)
还可以将URL从http更改为https。我帮忙