wininet 获取 http 头
场景:WinInet获取返回的HTTP头的有关问题
WinInet获取返回的HTTP头的问题
大家好。
写了个http类,负责发送http请求和接收返回,一直运行良好。以前没有处理返回的http头,现在需要处理,所以增加了一些代码接收返回的http头,但是失败了,接收不到。关键代码如下(只是零散的代码片段)——
理论上说,当InternetReadFileExA执行完以后(函数执行也是成功的),pHeadData就应该能获取到返回的http头了吧?但是没有呢,pHeadData仍然是“屯屯屯屯屯屯屯屯屯屯屯屯屯...”。请问我这样写方式对吗?请指教,谢谢!
------解决方案--------------------
用InternetGetLastResponseInfo查看是什么错误了
还有就是
INTERNET_BUFFERSA inetBuf;
memset(&inetBuf,0,sizeof(INTERNET_BUFFERSA));
inetBuf.dwStructSize= sizeof(INTERNET_BUFFERSA);
inetBuf.lpcszHeader = pHeadData;
inetBuf.dwHeadersLength = 100*1024;
------解决方案--------------------
WinInet获取返回的HTTP头的问题
大家好。
写了个http类,负责发送http请求和接收返回,一直运行良好。以前没有处理返回的http头,现在需要处理,所以增加了一些代码接收返回的http头,但是失败了,接收不到。关键代码如下(只是零散的代码片段)——
- C/C++ code
char *pHeadData = new char[100*1024]; INTERNET_BUFFERSA inetBuf; inetBuf.lpcszHeader = pHeadData; inetBuf.dwHeadersLength = 100*1024; InternetReadFileExA(hRequest, &inetBuf, IRF_ASYNC, dwContext);
理论上说,当InternetReadFileExA执行完以后(函数执行也是成功的),pHeadData就应该能获取到返回的http头了吧?但是没有呢,pHeadData仍然是“屯屯屯屯屯屯屯屯屯屯屯屯屯...”。请问我这样写方式对吗?请指教,谢谢!
------解决方案--------------------
用InternetGetLastResponseInfo查看是什么错误了
还有就是
INTERNET_BUFFERSA inetBuf;
memset(&inetBuf,0,sizeof(INTERNET_BUFFERSA));
inetBuf.dwStructSize= sizeof(INTERNET_BUFFERSA);
inetBuf.lpcszHeader = pHeadData;
inetBuf.dwHeadersLength = 100*1024;
------解决方案--------------------