如何在C ++中调用Rest服务?

时间:2011-11-24 14:31:02

标签: c++ wcf web-services rest

我想从我的C ++应用程序中调用用WCF编写的休息服务(它可以支持XML和JSON Web消息格式)。

实现这一目标的最佳解决方案是什么?我见过一些实用程序(gsoap),它们为您创建用于调用Web服务的代理类。

如果不使用任何中间实用工具,我可以实现相同的功能吗?作为一个休息服务,它使用GET / PUT函数作为基本的HTTP函数,是否有任何C ++库/解决方案可用于直接从c ++应用程序调用这些函数?

5 个答案:

答案 0 :(得分:5)

在Linux上,您可能可以使用curl库(我猜它已移植到Windows)。 Curl是一个为C或C ++程序提供HTTP客户端功能的库。

答案 1 :(得分:1)

使用Casablanca。这应该对于在2013年寻找这个答案的人有所帮助.CURL是完全合适的,但如果你在Windows中使用C ++并使用MS的东西,Casablanca似乎很合适。

答案 2 :(得分:1)

我自己尝试过gsoap但是很难维护我的应用程序的跨平台版本。 相反,我去了HTTP请求路由。 对于跨平台和C ++,我找到了这个Call Rest Web Services from C++

答案 3 :(得分:0)

答案 4 :(得分:0)

如果确实不需要使用REST方法进行XML序列化,那么curl非常适合使用。但是,如果你想在C或C ++中使用类型安全的XML序列化,那么使用curl会变得很麻烦,因为你必须使用在curl之上运行的东西来处理XML,例如使用DOM解析器(缓慢而不是类型)安全)。如果您有WSDL,那么我建议使用gSOAP 2.8,它提供集成的REST和XML序列化功能(以及需要时的JSON)。