На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Соблюдайте общие правила форума
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Указывайте точные версии Delphi и используемых сетевых библиотек.

Не приветствуется поднятие старых тем. Если ваш вопрос перекликается со старой темой, то для вопроса лучше создать новую тему, а старую указать в первом сообщении с описанием взаимосвязи.

Внимание:
попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Krid, user posted image Rouse_

Модераторы: Krid, Rouse_
  
> как отослать данные формы скрипту , данные формы с ENCTYPE=multipart/form-data
    подскажите, плз. мне нужно передать данные perl-скрипту методом пост, а именно: данные формы с ENCTYPE=multipart/form-data.
    конкретней: надо передать файл для загрузки (на хтмл-странице это тэг <input type='file' name='file_to_load'>). пробовал юзать компонент TNMHTTP - не вышло, он по-моему ваще глючит с POST-запросами :(
    буду очень признателен за любой совет.
    пишу на D6
      1.Сделай нужную тебе страницу со всеми тегами.
      2.Создай форму, постав на неё Twebrowser
      3. Form.Werbrowser.navigate('file.html');
        сенкс, но таким макаром не получится. дело в том что поле <input type=file> невозможно заполнить средствами хтмл, указав, например, value='C:\Work\my_file.zip'. это запрещено из соображений безопасности, иначе каждый мудила, знающий хтмл мог бы п...ть инфу с файловой системы серфера.

        я решил этот трабл, покопавшись в спецификации протокола хттп (кста, вот его перевод на русском - http://www.codenet.ru/webmast/rfc2068rus.php). для передачи инфы серверу юзаю компонент TTCPClient

        procedure TmainForm.sendFormButtonClick(Sender: TObject);
        var
        fileName, postData, firstReceived : String;
        stream : TFileStream;
        buf : Char;
        i : Integer;
        begin
        // tcpC - TTCPClient
        tcpC.Sendln('POST /cgi-bin/upload.cgi HTTP/1.1');
        tcpC.Sendln('Content-Type: application/x-www-form-urlencoded; boundary=---------------------------7d4245307104b0');
        tcpC.Sendln('Host: myhost.com');
        postData := 'login=mylogin&password=mypassword&uploadedfile=FULL_PATH_TO_FILE';
        tcpC.Sendln('Content-Length: '+ inttostr(length(postData)));
        tcpC.Sendln('');
        tcpC.Sendln(postData);
        tcpC.Sendln('');
        fileName := 'FULL_PATH_TO_FILE';
        try
        stream := TFileStream.Create(fileName, fmOpenReadWrite);
        tcpC.SendStream(stream);
        for i := 0 to stream.Size - 1 do
        begin
        Stream.Seek(i,soFromBeginning);
        stream.Read(buf,1);
        tcpC.SendBuf(buf,1);
        end;
        finally
        stream.Free;
        end;
        tcpC.Sendln('---------------------------7d4245307104b0');
        firstReceived := tcpC.Receiveln();
        end;
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0.0767 ]   [ 16 queries used ]   [ Generated: 23.10.26, 23:00 GMT ]