我想從我的C++應用程序中調用用WCF編寫的休息服務(它可以支持XML和JSON Web消息格式)。如何在C++中調用Rest服務?
達到此目的的最佳解決方案是什麼?我見過一些實用程序(gsoap),它們爲您創建用於調用Web服務的代理類。
我可以在不使用任何中間工具的情況下實現相同的功能嗎?作爲一個休息服務,它使用基本的HTTP函數GET/PUT函數,是否有任何C++庫/解決方案可以用來直接從C++應用程序調用這些函數?
我想從我的C++應用程序中調用用WCF編寫的休息服務(它可以支持XML和JSON Web消息格式)。如何在C++中調用Rest服務?
達到此目的的最佳解決方案是什麼?我見過一些實用程序(gsoap),它們爲您創建用於調用Web服務的代理類。
我可以在不使用任何中間工具的情況下實現相同的功能嗎?作爲一個休息服務,它使用基本的HTTP函數GET/PUT函數,是否有任何C++庫/解決方案可以用來直接從C++應用程序調用這些函數?
在Linux上,你可能會使用curl庫(我猜它已經移植到Windows)。 Curl是爲C或C++程序提供HTTP客戶端功能的庫。
他問REST,而不是SOAP。 – Dave
使用Casablanca。這對於在2013年尋找這個答案的人應該是有幫助的。CURL非常合適,但是如果你在Windows中使用C++並使用MS,那麼卡薩布蘭卡似乎很合適。
我嘗試gsoap自己,但它很難保持我的應用程序的跨平臺版本。 相反,我去了HTTP請求路由。 對於跨平臺和C++我發現這Call Rest Web Services from C++
如果真的不需要使用REST方法進行XML序列化,那麼使用curl是完美的。但是,如果您希望在C或C++中使用類型安全的XML序列化,那麼使用curl會變得很麻煩,因爲您將不得不使用curl之上運行的某些內容來處理XML,比如使用DOM解析器(緩慢而不是類型)安全)。如果你有一個WSDL,那麼我推薦gSOAP 2.8,它提供了集成的REST和XML序列化功能(當你需要時可以使用JSON)。
這聽起來很明智 - CURL是一個非常強大的HTTP編程庫。 – Dave