Re: Код ответа в WinInet
От: alexdev Россия http://alexdev-ru.livejournal.com
Дата: 28.01.10 10:09
Оценка: -2
Здравствуйте, <Аноним>, Вы писали:

А>InternetCloseHandle( Internet ) ;[/ccode]В случае если запрашиваемая страница не сужествует, то InternetReadFile возвращает "<HEAD><TITLE>404 page not found</TITLE>..." Как мне получить код присланной ошибки средствами WinInet или только парсить данные?


По-моему только парсить.
... << RSDN@Home 1.2.0 alpha 4 rev. 1410>>
Код ответа в WinInet
От: Аноним  
Дата: 28.01.10 09:51
Оценка:
HINTERNET Connect , Internet , Request ;
DWORD Bytes = 0 ;
CHAR Data[ 1000000 ] ;
WCHAR WData[ 2048 ] ;
DWORD Size;
DWORD Code = 404;
BOOL bl ;
INT i ;
if( Internet = InternetOpen( L"Open" , INTERNET_OPEN_TYPE_PRECONFIG , NULL , NULL , NULL ) ) {
    if( Connect = InternetConnect( Internet , L"XXX" , 80 , NULL , NULL , INTERNET_SERVICE_HTTP , 0 , 1u ) ) {
        if( Request = HttpOpenRequest( Connect , L"GET" , L"test.htm" , NULL , NULL , 0 , INTERNET_FLAG_KEEP_CONNECTION , 1 ) ) {
            if( HttpSendRequest( Request , NULL , 0 , NULL , 0 ) ) {
                for( ; ; ) {
                    if( InternetReadFile( Request , Data , 10000 , &Bytes ) == FALSE || Bytes == 0) {
                        break ;
                    }
                }
            }
        }
        InternetCloseHandle( Request ) ;
    }
    InternetCloseHandle( Connect ) ;
}
InternetCloseHandle( Internet ) ;
В случае если запрашиваемая страница не сужествует, то InternetReadFile возвращает "<HEAD><TITLE>404 page not found</TITLE>..." Как мне получить код присланной ошибки средствами WinInet или только парсить данные?
Re: Код ответа в WinInet
От: De-Bugger  
Дата: 28.01.10 10:33
Оценка:
...
        HttpQueryInfo(hRequest, HTTP_QUERY_STATUS_CODE or HTTP_QUERY_FLAG_NUMBER, ...)
        (if lBuf == HTTP_STATUS_OK)
...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.