C ++:从URL获取HTTP状态码

我正在处理一个应用程序,在这里我必须打一个URL并获得从该URL返回的HTTP状态码。 目前我正在使用WININET函数来实现这一点。 代码来实现这一点:

hOpen = InternetOpenA(“MYAPP”,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0); hFile = InternetOpenUrlA(hOpen,url.c_str(),NULL,0,INTERNET_FLAG_RELOAD,0); HttpQueryInfoA(HFILE,HTTP_QUERY_STATUS_CODE,(无效*)缓冲液,&dwBufLen,NULL);

我做了一些检查,看看的performance,我可以看到,平均一击是需要约300毫秒。 由于我会做出多个命中,总时间约8-10秒,这是减缓整个应用程序。

在MAC上也是一样,大约100毫秒左右(我正在使用COCOA)。

那么WIN上还有其他什么API可以用来让这个更快?

在此先感谢,阿米特

libcurl是另一种选择。 它实际上是平台独立的。 你可能不喜欢这个库的东西是,你将需要一些额外的DLL。

WinHTTP是另一个主要的Win32 HTTP API。 它的设计更多的服务器和客户端没有用户界面,因此可能会更快。