2010-08-03 43 views
0

一個相當簡單的問題。我應該使用WinHttp庫在我的C++程序中發出Web服務請求,還是應該使用msxml庫中的IXmlHttpRequest接口發送Web服務請求?很明顯,與IXmlHttpRequest庫相比,WinHttp庫提供了更好的控制。但XmlHttpRequest對象是w3.org標準,理論上更便於攜帶。Windows C++我應該從MSXML使用WinHttp庫還是XmlHttp?

回答

0

這取決於您是在安全通道(即HTTPS)還是簡單通道(即HTTP)上訪問該服務。

根據MSDN(http://msdn.microsoft.com/en-us/library/ms891732.aspx),IXMLHttpRequest僅支持HTTP。

注意IXMLHTTPRequest不支持安全網站的訪問。要訪問安全的網站,請使用WinINet API。

但WinInet的API是很老,並有一些多線程問題(我認爲它的存在對MSDN太)...

所以最好的辦法是爲WinHTTP的HTTPS和HTTP,否則舊的IXMLHttpRequest很好。

注意: libcurl和curlpp(libcurl的C++端口)也有檢查。這裏有一箇舊帖子http://stackoverflow.com/questions/1011339/how-do-you-make-a-http-request-with-c

0

簡單回答你的「簡單問題」:你應該使用你覺得最舒服的東西,以及最符合你需求的東西。您可以考慮http client in boost::asio

相關問題