我想运行Windows Developer Program网站上发布的C ++ REST SDK示例:https://ms-iot.github.io/content/Casablanca.htm

我非常谨慎地遵循这些步骤,也使用cpprest lib版本2.2而不是最新版本(2.4),结果是我可以成功运行该项目并将其部署到我的Galileo上,但是当客户端对象尝试解析时使用页面中发布的示例的请求,我收到以下错误:

Error exception:Error in: WinHttpSendRequest.


该代码是上面链接中的main.cpp,我正在尝试在我的Intel Galileo中运行它。

感谢任何帮助,因为有点令人沮丧,无法找到有关此错误的信息。

最佳答案

WinHttpSendRequest API中最常见的错误原因是网络/ DNS /防火墙问题。

一件容易检查的事情是从Galileo(Telnet)命令行ping www.bing.com。如果失败,那几乎可以肯定是原因。您可以使用IP地址替换www.bing.com,这是一种快速而又可行的解决方法。

如果不是,那么防火墙是否有可能阻止您的请求(例如,如果您位于公司防火墙后面)?

您是否在Visual Studio调试器中运行代码?您可以缩小发生异常的地方吗?

如果这样做没有帮助,但您遇到了麻烦,则可能要尝试使用非卡萨布兰卡方法:http://msdn.microsoft.com/en-us/library/windows/desktop/ms737889(v=vs.85).aspx。就我个人而言,我发现卡萨布兰卡的异步结构令人困惑,并且在我的项目(基本的HTTP客户端请求)中并没有太大的好处。对Winsock的支持与Galileo上运行的Windows映像打包在一起,因此不需要任何混乱的先决条件配置。

担。

关于c++ - Galileo上的C++ REST SDK示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27736348/

10-13 05:00