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

时间:2010-03-04 05:37:32

标签: c++ windows

我正在开发一个应用程序,其中我必须点击一个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);

我做了一些检查以查看性能,我可以看到平均命中大约需要300毫秒。由于我将进行多次点击,总时间约为8-10秒,这会减慢整个应用程序的速度。

同样在MAC上实现大约100毫秒左右(我正在使用COCOA)。

那么在WIN上还有其他任何API可以用来加快速度吗?

提前致谢, 阿米特

2 个答案:

答案 0 :(得分:2)

libcurl是另一种选择。它实际上与平台无关。你可能不喜欢这个库的是你需要一些额外的DLL。

答案 1 :(得分:1)

WinHTTP是另一个主要的Win32 HTTP API。它专为没有UI的服务器和客户端设计,因此可能更快。