Передача параметров скрипту с помощью функций Wininet

Тема в разделе "WASM.NETWORKS", создана пользователем Saint German, 2 мар 2005.

Статус темы:
Закрыта.
  1. Saint German

    Saint German New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2003
    Сообщения:
    222
    msdn смотрел, примеры с rsdn(только там запрос get),

    как собрать "вручную" запрос знаю, но как с помощью этих функций? Не могу понять, чего не хватает.

    <CODE>

    invoke InternetOpen, \

    SADD("Microsoft Internet Explorer"), \

    INTERNET_OPEN_TYPE_PRECONFIG, \

    NULL, NULL, 0

    mov g_hInetSession, eax

    .if ( g_hInetSession != 0 )

    invoke InternetConnect, \

    g_hInetSession, \

    SADD("localhost"), \

    INTERNET_DEFAULT_HTTP_PORT, \

    NULL, NULL, \

    INTERNET_SERVICE_HTTP, \

    0, 0

    mov g_hConnect, eax

    .if ( g_hConnect != 0 )

    invoke HttpOpenRequest, \

    g_hConnect, \

    SADD("POST"), \

    SADD("/test.php"), \

    NULL, \

    NULL, \

    0, \

    INTERNET_FLAG_KEEP_CONNECTION, \

    0

    ;int 3

    mov g_hRequest, eax

    .if ( g_hRequest != 0 )

    invoke lstrlen, addr req

    ;invoke HttpSendRequest, g_hRequest, NULL, 0, 0,0 ;addr req, eax

    invoke HttpSendRequest, g_hRequest, 0, 0, addr req, eax



    .if ( eax != 0 )



    invoke fopen, SADD("get.txt"), SADD("a")

    int 3

    mov l_f, eax

    .while ( TRUE )

    invoke InternetReadFile, \

    g_hRequest, \

    addr szData, 1024-1, \

    addr dwBytesRead

    int 3

    .if ( eax == 0) || ( dwBytesRead == 0 )

    .break

    .endif

    invoke fprintf, l_f, addr szData

    .endw



    invoke fclose, l_f

    .else

    PrintError

    .endif

    invoke InternetCloseHandle, g_hRequest

    .else

    PrintError

    .endif

    invoke InternetCloseHandle, g_hConnect

    .endif

    invoke InternetCloseHandle, g_hInetSession

    .endif

    </CODE>
     
  2. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Здесь все расписано как положено.
     
  3. Saint German

    Saint German New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2003
    Сообщения:
    222
    Нет не все там, к тому же сильно обьектно-ориентировано,

    не сочтите за труд покажите пример на чистом с или асме
     
  4. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Тебе мало их примера или что-то конкретно неясно?
     
  5. Saint German

    Saint German New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2003
    Сообщения:
    222
    В этой статье и другой про wininet (все с rsdn)

    нет примера посылки скрипту пост-запроса, есть

    еще в сети несколько статей, но конкретно этого нет.

    Делаю вроде все правильно, как советуют в msdn,

    но не получается, запрос шлется, но параметры не передаются.
     
  6. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Загаловок будет нормально обработан только в том случае, если в его конце существует два независимых перевода строки.
     
  7. Saint German

    Saint German New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2003
    Сообщения:
    222
    Для NoName: знамо дело, только проблема оказалось вот в чем: параметр lpszObjectName функции HttpOpenRequest, допустим скрипт "test.php", что говорят про этот параметр:

    "Address of a string that contains the name of the target object of the specified verb. This is generally a file name, an executable module, or a search specifier.

    ", ну я и обозначал как "/test.php", а надо "test.php"

    Вот и вся проблема.
     
Статус темы:
Закрыта.