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

UINT OpenURL(
    HWND hWnd,
    LPCTSTR lpszVerb,
    LPCTSTR lpszServerName,
    LPCTSTR lpszServerPort,
    LPCTSTR lpszObjectName
)
{
    HINTERNET hInt,hConn,hReq;
    TCHAR szBuffer[65536];
    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(lpszServerPort),NULL,NU
LL,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 (UTC +08:00)
长度: 171字
(解答转自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
========== * * * * * ==========
上级目录