Передача параметров в интернет

CWICWEB, ClarioNET и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Привет, всем!

Кто-нибудь сталкивался с передачей параметров по POST в форму в интернете?

С уважением
Boulatov Dmitry
ICQ 14510907
eurosoft@mail.ru

(Добавление)

Я сейчас ковыряюсь. А в чём проблема?

---------------------------------------
C уважением,
Юрий Философов,
Главный программист
Корпорация "Диполь", Саратов
E-mail yufil@tacis-dipol.ru (служ)
yufil@mail.ru (дом)
ICQ#75924439

Тебе надо пихнуть засабмитить из программы данные веб-серверу?
Запрос почти такой же, как и при GET, только тело запроса представляет из себя список параметров

param1=value&param2=value

И обязательно надо передавать Content-Length. И всех делов.

Об этом в интернете есть почитать.

--
Best regards,
Maxim Yemelyanov,
Enigma Soft Company
phone: +380 572 177977
WEB: http://enigmasoft.com.ua
e-mail: clalist@enigmasoft.com.ua
ICQ: 12253836
Написал: ClaList(2)
Гость

Сообщение Гость »

Привет, Максим!

А нет ли примерчика какого? Я честно говоря и GET не пробовал.
Пробовал только вызывать IE через API ...

С уважением,
Булатов Дмитрий
eurosoft@mail.ru
http://www.posmaster.ru

Есть совсем примитивное решение - создать HTML-страницу, открыть по ShellExecute и нажать кнопку Submit, делов на 5 минут.

Что-нибудь в духе

Код: Выделить всё

 
<html>
<head>
<title>Протокол экзамена</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<p>Страница для отправки результатов тестирования </p>
<p>Тест<strong>Экзамен 1</strong></p>
<p> Дата <strong>16/03/2004</strong> </p>
<form action="http://www.mywebpage.ru/form.asp" method="post" name="Form1"  >
  <input name="Отправить" type="submit" value="Отправить">
  <input name="V1" type="hidden" value="Переменная V1">
  <input name="V2" type="hidden" value="Переменная V2">
</form>
</body>
</html>
После чего поля V1 и V2 отправятся на страницу http://www.mywebpage.ru/form.asp

---------------------------------------
C уважением,
Юрий Философов

(Добавление)

Здравствуйте, Yuri!

А что-нибудь чуть чуть посложнее без нажатия на кнопку Submit. Просто в автомате необходимо заполнять формы не на одном, а на 100-1000 серверах с получением протокола ...

С уважением,
Булатов Дмитрий

(Добавление)

JavaScript:
form.submit()

------------------------------------------------------------
Igor Gubin (igor@quantor.com)
Quantor-Soft Metall
Phone/Fax: (+7 095) 234 4905
WEB: http://www.metaldata.info
http://www.metaldata.ru
Написал: ClaList(2)
Гость

Сообщение Гость »

Читайте rfc2616, там ничего сложного.

Полагаю, сокетный механизм у вас под рукой, если это класс, то например вот так можно сделать GET запрос: (пример на с++, надеюсь это некритично?)
NB: _все_ проверки выброшены.

Код: Выделить всё

int get_document(string host, u_short port)
{
    tcp_sock s;
    string request =
        "GET /index.html HTTP/1.1\r\n"
        "Host: www.arsis.ru\r\n\r\n";  // <-- по спецификации лучше делать CR-LF, хотя и CR работает
    string response;
    
    s.connect(host, port);
    s.send(request);
    s.recv(response);

    ofstream save_file("c:\\index.html");
    save_file << response;
    cout << "Страница http://www.arsis.ru/index.html сохранена в файл 'c:\\index.html' "<<endl;
}
--
Best regards,
Maxim Yemelyanov
Написал: ClaList(2)
Гость

Сообщение Гость »

ofstream save_file("c:\\index.html");
save_file << response;
Соврал, в файл попадут еще и заголовки HTTP, надо их предварительно вырезать.

--
Best regards,
Maxim Yemelyanov
Написал: ClaList(2)
Ответить