Работа с WinInet API
От: Duke_Nuken Украина  
Дата: 11.08.04 11:24
Оценка:
Люди подскажите как отправить данные методом POST

Проблема состоит в том, что я не могу правильно заполнить параметры функции HttpSendRequest
Что нужно указывать в параметрах lpszHeaders (добавление к хедеру) и lpOptional (это передаваемая строка)
для того чтобы на скрипт передать переменную info со значением "It's work!"
Подскажите, ОЧЕНЬ нужно...


    // инициализируем WinInet
    HINTERNET hInternet =
        ::InternetOpen(
            TEXT("WinInet Test"),
            INTERNET_OPEN_TYPE_PRECONFIG,
            NULL,NULL,
            0);

if (hInternet != NULL) {
        // открываем HTTP сессию
        HINTERNET hConnect = 
            ::InternetConnect(
                hInternet,
                TEXT("192.168.1.19"),
                INTERNET_DEFAULT_HTTP_PORT,
                NULL,NULL,
                INTERNET_SERVICE_HTTP,
                0,
                1u);

    if (hConnect != NULL) {
            // открываем запрос
            HINTERNET hRequest = 
                ::HttpOpenRequest(
                    hConnect,
                    TEXT("POST"),
                    TEXT("/1/1.php"),
                    NULL,
                    NULL,
                    0,
                    INTERNET_FLAG_KEEP_CONNECTION,
                    1);

// создаем запрос
    
            char Header[100] = "Content-Disposition: form-data;";
            char POST_reqvest[25] = "info=test onfo";

          if (hRequest != NULL) {
                // посылаем запрос
                BOOL bSend = ::HttpSendRequest(hRequest, TEXT("Content-Disposition: form-data; name=info"), 50, TEXT("work"),10);
                if (bSend) {
                    
// создаём выходной файл
 FILE * pFile;
 
 pFile=fopen ("c:\\phpinfo.txt","wb");
 
int get_bites  = 0;
char  szData[1024];
DWORD dwBytesRead;
                        
                       for (;;) 
                       {
                        
                        BOOL bRead = ::InternetReadFile(hRequest,szData,sizeof(szData)-1, &dwBytesRead);

                        if ( bRead == 0 || dwBytesRead < 1)
                        {     
                            break;   
                        }

                        get_bites += dwBytesRead;

                        fwrite( szData, dwBytesRead, 1, pFile );

                       }
                        
 

fclose (pFile); 

                        
   
                    }
                }
                // закрываем запрос
                ::InternetCloseHandle(hRequest);
            }
            // закрываем сессию
            ::InternetCloseHandle(hConnect);
        }
        // закрываем WinInet
 ::InternetCloseHandle(hInternet);
  
    return 0;
http://FreeMusicLib.com — мой сайт с бесплатной музыкой доступной для скачивания
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.