F
FourtySeven
Пишу программу которая будет средствами wininet получать содержимое htm странички к сожалнию выдает ошибку на вызове HttpSendRequest :
Заранее благодарен за совет.
Код:
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\wininet.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\wininet.lib
.data
count dd 0
hsocket dd 0
hConnect dd 0
hRequest dd 0
agent db "IE",0
serv db "fourty-seven.nm.ru",0
page1 db "index.htm",0
filt db "*/*",0
frm db "os",0
header db "Content-Type: application/x-www-form-urlencoded",13,10,
"Accept-Language:ru",13,10,
"Accept-Encoding:gzip, deflate",13,10,13,10,0
method db "GET",0
;------------------------------
hStdOut dd ?
.data?
content db 4096 DUP(?) ;Содержимое странички
.code
start:
INVOKE InternetOpen,ADDR agent,INTERNET_OPEN_TYPE_PRECONFIG,0,0,0
MOV hsocket,EAX
INVOKE InternetConnect,hsocket,ADDR serv,INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1
MOV hConnect,EAX
INVOKE HttpOpenRequest,hConnect,ADDR method,ADDR page1,NULL,NULL,ADDR filt, INTERNET_FLAG_KEEP_CONNECTION, 1
MOV hRequest,EAX
INVOKE HttpSendRequest,hRequest,ADDR header, SIZEOF header,NULL, NULL; ЗДЕСЬ ОТЛАДЧИК ВЫДАЕТ ОШИБКУ (((
INVOKE InternetReadFile,hRequest,ADDR content,1,ADDR count // Читаем байт.
INVOKE InternetCloseHandle,hRequest
INVOKE InternetCloseHandle,hConnect
INVOKE InternetCloseHandle,hsocket
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
INVOKE GetStdHandle,STD_OUTPUT_HANDLE
MOV hStdOut,EAX
INVOKE WriteConsoleA,hStdOut,ADDR content,1,ADDR count,NULL
INVOKE ExitProcess,0
end start
Заранее благодарен за совет.