Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> problem of sending data with the POST method, WinINET APIs 
:(
    Опции темы
BlackCode
Дата 9.5.2005, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 8.5.2005
Где: Armenia, Yerevan

Репутация: нет
Всего: нет



I have Apache2 server and PHP4 installed on my local computer for educational purposes.

I have the index2.php in my http server directory which prints the myvar variables value.
Код

<?php 

echo '<html><head><title></title></head><body><p>';
echo $_POST["myvar"];
echo '</p></body></html>';

?>


This thing is working fine when I post data from the index2.htm file,

Код

<html><head><title>My PHP Query Page</title></head><body><br><br><center>

<form action="index2.php" method="post">
<p> <input type="text" name="myvar">
<input type="submit" value="Submit Query">
<input type="reset" value="   Reset   ">
</p></form>
</center>

</body></html>


but it doesn't work when I try to post some data using HttpOpenRequest(...), HttpSendRequest(...) WinINET APIs.

Код

#include <windows.h>
#include <wininet.h>

#include <iostream>

using std::cout;

void main()
{
HINTERNET hInternet = InternetOpen(
                            "MyAgent",
                            INTERNET_OPEN_TYPE_DIRECT,
                            NULL,
                            NULL,0);
cout<<"hInternet="<<(int)hInternet<<"\nGetLastError()="<<GetLastError()<<"\n\n";

    HINTERNET hConnect = InternetConnect(
                            hInternet,
                            "127.0.0.1",
                            80,
                            NULL,
                            NULL,
                            INTERNET_SERVICE_HTTP,
                            0,
                            0);
    cout<<"hConnect="<<(int)hConnect<<"\nGetLastError()="<<GetLastError()<<"\n\n";

    LPCTSTR AcceptTypes[] = { TEXT("*/*"), NULL}; 
    HINTERNET hRequest = HttpOpenRequest(
                            hConnect,
                            "POST",
                            "/index2.php",
                            NULL,
                            NULL,
                            AcceptTypes,
                            INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_RELOAD | INTERNET_FLAG_PRAGMA_NOCACHE,
                            0);
    cout<<"hRequest="<<(int)hRequest<<"\nGetLastError()="<<GetLastError()<<"\n\n";

    char optData[] = "?myvar=31";

    BOOL retRes = HttpSendRequest(
                            hRequest,
                            0,
                            0,
                            optData,
                            lstrlen(optData)
                            );
    cout<<"retRes="<<(int)retRes<<"\nGetLastError()="<<GetLastError()<<"\n\n";

    auto char  buffer[4096];
    auto DWORD uLong;

    if(InternetReadFile(hRequest,buffer,4096,&uLong) == FALSE){
        MessageBox(0,"ERROR InternetReadFile returns NULL","ERROR",0);
        return;
    }

    for(UINT i=0;i<uLong;i++){
        cout<<buffer[i];
    }

    Sleep(20000);
}


The server respond like it doesn't receive any data.

Код
<html><head><title></title></head><body><p><br>
<b>Warning</b>:  Undefined index:  myvar in <b>D:\!!HTTP!!\WWW\index2.php</b> on line <b>4</b><br>
</p></body></html>


I posted the optData string with the InternetSendRequest

optData[] = "?myvar=31";

is it right ?

Thanks in advanced.

Regards, Aram
PM MAIL ICQ   Вверх
LuckLess
Дата 10.5.2005, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



dont know this APIS , but i think problem may be here
Код

    HINTERNET hRequest = HttpOpenRequest(
                            hConnect,
                            "POST",
                            "/index2.php",
                            NULL,
                            NULL,
                            AcceptTypes,
                            INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_RELOAD | INTERNET_FLAG_PRAGMA_NOCACHE,
                            0);

becouse "/index2.php" and "index2.php" are different files.



sorry 4 my english smile
PM MAIL   Вверх
BlackCode
Дата 10.5.2005, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 8.5.2005
Где: Armenia, Yerevan

Репутация: нет
Всего: нет



sorry 4 my english smile [/QUOTE]
Цитата
sorry 4 my english  smile


doesn't matter smile

Цитата
becouse "/index2.php" and "index2.php" are different files.


I'm afraid it doesn't change anything smile

Это сообщение отредактировал(а) BlackCode - 10.5.2005, 09:44
PM MAIL ICQ   Вверх
Coocky
Дата 10.5.2005, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: нет
Всего: 62



Модератор:

 ! 
 
Принятый язык на форуме- русский!



--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0638 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.