小编rya*_*anb的帖子

如何让MSXML IXMLHTTPRequest处理HTTP重定向?

情况: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对我的需求来说太低了我认为).

谢谢!

windows winapi msxml msxml3

7
推荐指数
1
解决办法
873
查看次数

构建dll时,导出函数没有丢失实现的警告/错误

我注意到在Visual Studio中创建一个dll时,一个声明为__declspec(dllexport)没有实现的函数会从dll中静默删除.因此,在客户端调用该特定函数之前不会遇到任何错误,并且会生成未满足的链接错误.

今天我遇到了这个问题,当一位同事重命名了一个函数,但只提交了标题中的更改而不是源文件,并且从那时起我的dll导出中的函数被默默地删除了.

我在VS2013中尝试过警告级别4,甚至没有出现警告.

我现在想知道我们的库中是否还有其他错误配对.当然,如果编译器至少警告过这个会很好,但理想情况下这会导致错误.

问题,有没有人知道如何在Visual Studio中为dllexport缺少实现导致警告/错误?

我们在所有流行的操作系统和编译器上构建我们的库,并且所有构建都没有错误(尽管可能是我们从未注意到的警告......)

c++ dll

5
推荐指数
0
解决办法
172
查看次数

标签 统计

c++ ×1

dll ×1

msxml ×1

msxml3 ×1

winapi ×1

windows ×1