wininet!HttpSendRequest не работает

Тема в разделе "WASM.BEGINNERS", создана пользователем Ragnar, 17 авг 2009.

  1. Ragnar

    Ragnar New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2009
    Сообщения:
    13
    Почему то не работает код:
    Код (Text):
    1. wininet db 'wininet.dll',0
    2.  
    3. InternetOpenA db 'InternetOpenA',0
    4. _InternetOpenA dd ?
    5. InternetConnectA db 'InternetConnectA',0
    6. _InternetConnectA dd ?
    7. HttpOpenRequestA db  'HttpOpenRequestA',0
    8. _HttpOpenRequestA dd ?
    9. HttpSendRequestA  db 'HttpSendRequestA',0
    10. _HttpSendRequestA dd ?
    11. InternetReadFile db 'InternetReadFile',0
    12. _InternetReadFile dd ?
    13. InternetOpenUrlA db 'InternetOpenUrlA',0
    14. _InternetOpenUrlA  dd ?
    15. InternetQueryOptionA db 'InternetQueryOptionA',0
    16. _InternetQueryOptionA dd ?
    17. InternetSetOptionA db 'InternetSetOptionA',0
    18. _InternetSetOptionA dd ?
    19.  
    20.  
    21. INTERNET_OPEN_TYPE_PRECONFIG equ 0
    22. INTERNET_SERVICE_HTTP equ 3
    23. INTERNET_FLAG_KEEP_CONNECTION equ  0x00400000
    24.  
    25. host db 'www.memfinance.com',0
    26. webpath db '/crypt.php',0
    27. method db 'POST',0
    28. vprot db 'HTTP/1.1',0
    29. contenttype db 'Content-Type: application/x-www-form-urlencoded',0
    30. request db  'email=test%40mail.ru&pass=bigtest', 0
    31.  
    32. hInternetOpen  dd ?
    33. hOpenUrl dd ?
    34. hOpenRequest dd ?
    35. hInternetConnect dd ?
    36. dwFlags dd ?
    37. dwBuffLen dd ?
    38.  
    39. bad db ':(',0
    40.  
    41.  
    42.  
    43. proc main
    44. invoke LoadLibrary, wininet
    45. mov esi, eax
    46.  
    47. invoke GetProcAddress,esi,InternetOpenA
    48. mov [_InternetOpenA],eax
    49.  
    50. invoke GetProcAddress,esi, InternetConnectA
    51. mov [_InternetConnectA],eax
    52.  
    53. invoke GetProcAddress,esi, HttpOpenRequestA
    54. mov [_HttpOpenRequestA],eax
    55.  
    56. invoke GetProcAddress,esi, HttpSendRequestA
    57. mov [_HttpSendRequestA],eax
    58.  
    59. invoke GetProcAddress,esi, InternetReadFile
    60. mov [_InternetReadFile],eax
    61.  
    62. invoke GetProcAddress,esi, InternetOpenUrlA
    63. mov [_InternetOpenUrlA],eax
    64.  
    65. invoke GetProcAddress,esi, InternetQueryOptionA
    66. mov [_InternetQueryOptionA],eax
    67.  
    68. invoke GetProcAddress,esi, InternetSetOptionA
    69. mov [_InternetSetOptionA],eax
    70.  
    71. invoke _InternetOpenA, bad, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0
    72. mov [hInternetOpen], eax
    73.  
    74. invoke _InternetConnectA, [hInternetOpen],host, 80, NULL, NULL,INTERNET_SERVICE_HTTP ,0,1
    75.  mov [hInternetConnect], eax
    76.  
    77. invoke _HttpOpenRequestA,[hInternetConnect],method, webpath, vprot, NULL, 0,INTERNET_FLAG_KEEP_CONNECTION+INTERNET_FLAG_DONT_CACHE+INTERNET_FLAG_SECURE+INTERNET_FLAG_RELOAD+INTERNET_FLAG_IGNORE_CERT_CN_INVALID+INTERNET_FLAG_IGNORE_CERT_DATE_INVALID,1
    78. mov [hOpenRequest], eax
    79.  
    80. invoke _HttpSendRequestA, [hOpenRequest],contenttype,47,request,33 ; return false
    81. invoke GetLastError
    82.  
    83.  
    84. invoke ExitProcess, 0
    85. endp
    проясните плз что не так...
     
  2. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    Код (Text):
    1. invoke _HttpOpenRequestA,[hInternetConnect],method, webpath, vprot, NULL, 0,INTERNET_FLAG_KEEP_CONNECTION+INTERNET_FLAG_DONT_CACHE+INTERNET_FLAG_RELOAD,1
     
  3. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    у вас что HTTPS на 80м порту?
     
  4. Ragnar

    Ragnar New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2009
    Сообщения:
    13
    litrovith поправил флаги но не помогло, всерно false
     
  5. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    Ragnar,в снифер смотрел, по колёсам стучал, стёкла протирал, у оли спрашивал?
     
  6. Ragnar

    Ragnar New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2009
    Сообщения:
    13
    оля говорит что false, до этого хендлы получает
    В сниффер не глядел но чувствую придётся)
     
  7. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    Код (Text):
    1. host db 'www.google.com' ,0
    2. webpath db '/crypt.php',0
    3. method db 'POST',0
    4. vprot db 'HTTP/1.1',0
    5. contenttype db 'Content-Type: application/x-www-form-urlencoded',0
    6. request db  'email=test%40mail.ru&pass=bigtest', 0
    7.  
    8. hInternetOpen  dd ?
    9. hOpenUrl dd ?
    10. hOpenRequest dd ?
    11. hInternetConnect dd ?
    12. dwFlags dd ?
    13. dwBuffLen dd ?
    14.  
    15. bad db ':(',0
    16.  
    17.   start:
    18. main proc
    19.  
    20. invoke InternetOpenA, offset bad, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0
    21. mov [hInternetOpen], eax
    22.  
    23. invoke InternetConnectA, [hInternetOpen],offset host, 80, NULL, NULL,INTERNET_SERVICE_HTTP ,0,1
    24.  mov [hInternetConnect], eax
    25.  
    26. invoke HttpOpenRequestA,[hInternetConnect], offset method, offset webpath, offset vprot, NULL, 0,INTERNET_FLAG_KEEP_CONNECTION+INTERNET_FLAG_DONT_CACHE+INTERNET_FLAG_RELOAD,1
    27. mov [hOpenRequest], eax
    28.  
    29. invoke HttpSendRequestA, [hOpenRequest],offset contenttype,47,offset request,33 ; return false
    30. invoke GetLastError
    31.  
    32. invoke ExitProcess, 0
    33. main endp