我有以下代码:
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) …Run Code Online (Sandbox Code Playgroud) 情况:1)我需要在Windows上用C++为我们的DLL进行HTTP [S]网络调用.2)需要支持至少XP(我猜SP3没问题)3)没有ATL,没有MFC,没有IE
问题:我最近从Boost cpp-netlib切换到使用MSXML的IXMLHTTPRequest来满足我们(非常简单)的Windows网络需求.虽然一切似乎都很好,但我们注意到重定向不起作用.在fiddler中,我得到一个HTTP 302,然后是第二个成功的HTTP 200请求/响应.
但是在实际的C++代码中,我从IXMLHTTPRequest-> Send获得了E_ACCESSDENIED,并且HTTP响应代码为零.所以在代码中我无法知道实际发生了什么.
从Fiddler开始,一切正常,我尝试将其设置为异步并检查回调,还尝试了IXMLHttpServerRequest,IXMLHttpServerRequest2和MSXML v6,但都没有工作.
注意:我们在WinRT上使用IXMLHttpRequest2并且工作正常(处理OnRedirect事件).
反正有没有让MSXML的IXMLHTTPRequest来处理重定向?
或者我是否需要切换到WinInet/WinSockets/WinHttp?我认为我需要使用WinHttp(因为我需要支持Windows服务/ IIS,WInInet显然没有,而WinSockets对我的需求来说太低了我认为).
谢谢!
我正在更改我的C++项目,它早在VC6中,现在正在迁移到VS 2008,使用MSXML 6而不是早期的MSXML 3.当代码在VC6中时,我们通过导入使用MSXML3
# import "msxml3.dll"
Run Code Online (Sandbox Code Playgroud)
这被替换为
# import "msxml6.dll"
Run Code Online (Sandbox Code Playgroud)
在此之后,当我编译项目时,我得到了这个和其他几个类似的错误错误C2011:'MSXML2 :: IXMLDOMImplementation':'struct'类型重新定义
上述错误位于msxml3.tlh文件中.
1)为什么仍然使用msxml3?
2)我将问题缩小到MSXML.h,它以某种方式自动包含在我的项目中.为什么是这样?
3)在MSXML.h中引用了哪个版本的MSXML?
4)为什么VC++会自动包含这么多头文件?如果我不想要包含一些头文件怎么办?
5)在c ++项目中使用MSXML6的正确方法是什么?#import,头文件?????
6)我该如何解决这个问题?
随时给我.net.更清洁.VC++项目很乱.
多年来我一直使用经典的asp连接到使用msxml3.dll的供应商的安全站点 - 但从今天早上开始,我得到了;
msxml3.dll error '80072f7d'
An error occurred in the secure channel support
Run Code Online (Sandbox Code Playgroud)
我已经好好看看周围,可以看到我不是唯一一个看过这个 - 但找不到解决方案的人.
合作伙伴网站刚刚更新了他们的ssl证书.如果我尝试使用IE或Chrome从服务器连接到远程网址,则无法连接在网站的证书上报告无效的数字签名.但是,如果我尝试从本地计算机连接,它可以正常工作,我可以看到已正确建立服务器标识.
任何帮助将非常感激.