首页
社区
课程
招聘
[求助]郁闷的wininet
发表于: 2008-12-22 15:49 5305

[求助]郁闷的wininet

2008-12-22 15:49
5305
_HTTPOST proc _szHost, _szFileName, _szPostParam

        ;
        ; 利用Wininet函数进行Http数据POST发送
        ;
       
        LOCAL        @hropen: DWORD
        LOCAL        @hrinterc: DWORD
        LOCAL        @hropenreq: DWORD
       
        pushad
               
        invoke InternetOpen,NULL,0,NULL,NULL,0
        cmp eax, NULL
        je @QUIT
        mov @hropen, eax
       
        invoke InternetConnect,@hropen,_szHost,INTERNET_DEFAULT_HTTP_PORT,NULL,addr szHTTP,INTERNET_SERVICE_HTTP,0,0
        cmp eax, NULL
        je @QUIT
        mov @hrinterc, eax
       
        invoke HttpOpenRequest,@hrinterc,addr szPOST,_szFileName,addr szHTTP,NULL,0,INTERNET_FLAG_RELOAD,0
        cmp eax, NULL
        je @QUIT
        mov @hropenreq, eax
       
        invoke _StrLen,addr szHeaders
        mov ebx, eax
        invoke HttpAddRequestHeaders,@hropenreq,addr szHeaders,ebx,HTTP_ADDREQ_FLAG_REPLACE Or HTTP_ADDREQ_FLAG_ADD
       
        ; 求长牙,这里可以用lstrlen
        invoke _StrLen,_szPostParam
        mov ebx, eax
        invoke HttpSendRequest,@hropenreq,NULL,0,_szPostParam,ebx
  
       
        invoke InternetCloseHandle,@hropenreq
        invoke InternetCloseHandle,@hrinterc
        invoke InternetCloseHandle,@hropen
       
       
@QUIT:       
        popad
       
        ret

_HTTPOST endp

上面这个函数在掉用时 第一次可以成功, 第二次掉用时就不发包了.请问是什么回事。

第二次 HttpSendRequest 返回值0 让我想不通

相同的功能在我在Delphi写了一个完全可以掉用N次.为什么这个在Win32汇编里 确不可以多次掉

用,忘求指点.郁闷17个小时了.

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 668
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
已解决 。。
2008-12-22 20:14
0
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
2008-12-23 22:21
0
游客
登录 | 注册 方可回帖
返回
//