枫林在线论坛精华区>>程序设计
[25055] 主题: 求助:用wininet库编程访问HTTP资源时出错
作者: little (渺小)
标题: 求助:用wininet库编程访问HTTP资源时出错
来自: 202.109.*.*
发贴时间: 2002年10月27日 21:25:53
长度: 1331字
我用VC的wininet库编了一个程序,想用来访问网页。遇到一些问题,请高
手指教。
功能函数如下:

UINT OpenURL(
HWND hWnd,
LPCTSTR lpszVerb,
    LPCTSTR lpszServerName,
    LPCTSTR lpszServerPort,
LPCTSTR lpszObjectName
)
{
HINTERNET hInt,hConn,hReq;
TCHAR szBuffer;
DWORD uLen;
BOOL bResult;

SetCursor(LoadCursor(NULL,IDC_WAIT));

hInt = InternetOpen(
"Microsoft Internet Explorer",
INTERNET_OPEN_TYPE_DIRECT,
NULL,
NULL,
INTERNET_FLAG_ASYNC
);
if (hConn = InternetConnect(hInt,lpszServerName,atoi(lpszServer
Port),NULL,NULL,INTERNET_SERVICE_HTTP,0,0))
{
if (hReq = HttpOpenRequest(hConn,lpszVerb,lpszObjectName,NULL,
"",NULL,0,0))
{
bResult = HttpSendRequest(hReq,NULL,0,NULL,0);
bResult = InternetReadFile(hReq,szBuffer,65535,&uLen);
bResult = TextOut(GetDC(hWnd),0,0,szBuffer,uLen);
}
}
    InternetCloseHandle(hInt);

SetCursor(LoadCursor(NULL,IDC_ARROW));
return 0;
}

经过调试,发现运行到以下行时出问题
bResult = HttpSendRequest(hReq,NULL,0,NULL,0);
bResult的值即函数返回值为0,说明运行不正常。
采用GetLastError()获取的出错值为997。
我不知道这个程序的错误在哪里
调试时使用的参数如下:
LPCTSTR lpszVerb "GET"
LPCTSTR lpszServerName "www.online.sh.cn"
LPCTSTR lpszServerPort "80"
LPCTSTR lpszObjectName "/"

请高手不吝赐教,谢谢!

========== * * * * * ==========
作者: leaflet (Leaf)
标题: RE:
来自: 61.129.*.*
发贴时间: 2002年10月28日 11:08:57
长度: 175字
(解答转自CSDN   saucer(思归) )
it is not an error, since you are using INTERNET_FLAG_ASYNC,
 asynchronous mode, if that is not what you wanted,
 set that parameter to 0

========== * * * * * ==========
返回