msxml3.dll访问被拒绝

Dev*_*ian 11 vbscript msxml3

我有以下代码:

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)

当我运行此代码时,我收到以下错误.

VBs msxml3.dll错误

如果我删除&request_token=#####some_default_request_token######它工作正常.

我也尝试了这个:我再次添加了request_token,我只是在其中键入了一个随机字符,例如,rexfuest_token奇怪的是它有效.似乎msxml3.dll中有一个错误的解析.with request_token word.

想法?

jsx*_*sxt 21

此问题可能与Windows中的安全问题有关.解决它的最好办法是更换Microsoft.XmlHttp/ MSXML2.XMLHTTPMSXML2.ServerXMLHTTP.

我看到这个主题已经有近2年的历史了,很可能主题首发已经解决了问题.几小时前我遇到过同样的问题,谷歌为我提供了几个链接.其中有一些:

  1. https://social.msdn.microsoft.com/Forums/en-US/1abda1ce-e23c-4d0e-bccd-a323aa7f2ea5/access-is-denied-while-using-microsoftxmlhttp-to-get-a-url-link-在-VBScript中的帮助?论坛= xmlandnetfx
  2. https://support.webafrica.co.za/index.php?/Knowledgebase/Article/View/615/41/msxml3dll-error-80070005-access-is-denied---loading-xml-file
  3. http://www.experts-exchange.com/Programming/Languages/Scripting/ASP/Q_27305017.html


Ans*_*ers 16

尝试使用更新版本:

Set http = CreateObject("Msxml2.XMLHttp.6.0")
Run Code Online (Sandbox Code Playgroud)

它也可能是您的Internet安全设置的问题(请参阅此处).在"控制面板"中打开" Internet选项"小程序,在" 安全"选项卡中选择网站区域(可能是"受信任的站点"),然后单击" 自定义级别...".

Internet选项安全选项卡

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

安全设置 - 其他