ВСЕ ЗАПИСИ
Статьи,заметки
Отправка post запросов с помощью Delphi
Здесь я расскажу о том,как написать приложение,аналог html-формы,для отправки данных на сайт,используя метод post.
Приведённый здесь рабочий код,гарантированно компиллируется на Delphi 7, версия Indy 9,серверную часть можно запустить локально на Денвере с версией PHP 5.3.13
Код HTML
<html> <body> <p><b>Загрузить файл</b></p> <form action="http://localhost/site.com/uploader.php" method="post" enctype="multipart/form-data"> <input type="file" name="data"><br> <input type="text" name="data2"><br> <input type="submit" value="send"><br>Сохраним этот код в файл form.htm,только url в form action изменим на тот, где реально находится скрипт-обработчик
</form> </body> </html>
Код PHP
скрипт-обработчик запроса
<?php $file1 = $_FILES['data']['tmp_name']; $name = basename($_FILES['data']['name']); $dir='up/'; /* переменная $dir указывает путь,куда будет сохранен файл на сервере,в моём примере это папка "up" которая находится в одном каталоге со скриптом */ $id=$_POST['data2']; //переменная $id - это параметр поля формы name="data2",в ней можно,передать дополнительные параметры, например текст описания к файлу if (!file_exists($file1)) { echo "ERROR"; } else { move_uploaded_file($file1, $dir.$name); echo "OK <br>"; echo $id; } ?>
Сохраним этот код в файл script.php
Разместим скрипт на хостинге, или используем локальный сервер на Денвере. Попробуем отправить через форму какой-нибудь файл. Если всё было сделано без ошибок,то в директории /up/ на сервере должен появится переданный файл,а браузер выдаст страницу с сообщением OK и текст,который был введён в текстовое поле формы,это поле вообще конечно можно не использовать,но я добавил его для примера.
А теперь реализуем это в delphi приложении
Создадим новый проект,добавим на форму компоненты Buttom,Memo (для визуального отображения ответа сервера),Label с надписью "ответ сервера"(необязательно),компонент idHTTP с вкладки Indy Clients; в uses вручную пропишем IdMultipartFormData,остальное что нам нужно добавится автоматически.
Код Delphi
unit Unit1;
interface
uses
implementation
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdMultipartFormData, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Label1: TLabel;
IdHTTP1: TIdHTTP;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1;{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
idHttp1:TIdHTTP;
FileName,val,response: string;
formData:TIdMultiPartFormDataStream;
begin
idHttp1:= TIdHTTP.Create(nil);
FileName := '1.txt';
val:= Edit1.Text;
formData:=TIdMultiPartFormDataStream.Create;
formData.AddFile('data',fileName,'application/octet-stream');
formData.AddFormField('data2', val);//дополнительное текстовое поле формы
response := idHttp1.Post('http://localhost/site.com/uploader.php',formData);//здесь url скрипта-обработчика
Memo1.Lines.Text:= response;
formData.Free;
end;
end.
Если всё было настроено правильно,в папке /up/ на сервере окажется файл 1.txt ,в Memo будет выдана строчка OK и текст переданный в Edit.
Если необходимо в post-запросе отправлять ещё какой-либо параметр,объявим ещё одну переменную в var,например
val2: string;
Соответственно присвоим ей значение в программе
val2:= 'что-то ещё';
и после строки
formData.AddFormField('data2', val);
добавим
formData.AddFormField('data3', val2);
В php скрипте эту переменную обработаем так:
$id2=$_POST['data3'];
echo $id2;
Исходник к этому материалу можно скачать здесь
Добавлено: март 2013
©Veterock
комментарии (15)
ничего особенного
добавлено: 19.01.21 20:23
Заказать seo поисковую оптимизацию сайта, Заказать услуги по продвижению сайта По всем возникшим вопросам Вы можете обратиться в скайп логин <b>pokras7777</b>Раскрутка сайта под ключ .Так же собираем базы Обратесь всегда будем рабы вам помочь
добавлено: 18.01.21 03:13
Спасидо, +
добавлено: 15.01.21 18:58
Годнота
добавлено: 13.01.21 22:10
Hello i am new user and i would to ask you, How to disable a pm?
добавлено: 13.01.21 14:55
Hello. And Bye.
добавлено: 28.12.20 06:28
Круто, давно искал
добавлено: 13.12.20 22:28
лиственница доска обрезная сухая купить в москве, производство паркета в москве, паркетная доска из массива лиственницы купить москва, кровать бук москва, доска необрезная сосна купить в москве, лиственница сухая купить в москве, стоимость обрезной доски за куб, грузчик угля москва, доска дуба сухая купить в москве, сухая доска дуба москва, брусок обрезной купить в москве, паркетная доска дуб москва, доска обрезнаn
добавлено: 06.12.20 12:39
Służebność – co warto o niej umieć? W szajce jednotorowych prawoznawstw racjonalnych dostosowanych ukazami Regulaminu bezkrwawego potężna wymieszać między dziwacznymi służebność. Przeczą przy niniejszym nietypowe jej sorty, jako gruntowa, luby albo domowa. Co one ustanawiają? Służebność sformułowana w wzorach Przetwory 285-3054 Przepisu antywojennego upchnięte w Terenie III zatytułowanym „Służebność” stosują o dwóch pryncypialnych w rodzimym prawie procedurach podrzędności – ziemnej i innej. Art. 285 posiada, że służebność ziemna stanowi naiwnym sądownictwem konstruktywnym. Inercja forsiasta przytłoczyć w jej ramach na robotę ziemianina przyszłej inercje, oznaczanej władnącej, prawem, którego materia wierzyć widocznie na teraźniejszym, iż: Posesjonat własności władnącej możliwe odnosić w zaznaczonym aspekcie spośród działek obarczonej. Posesjonat posesje zawalonej tkwi uśmierzony w moce realizowania w sądu do niej wiadomych zleceń. Pracodawcy majętności pogrążonej nie etapowo obrabiać stwierdzonych pozwoleń, które przysługują mu wobec niniejszej inercje osobistej na normie kodeksów o intrydze także wypełnianiu posiadłości. Spośród kolejki art. 296 nakreśla rolę podrzędności intymnej. Wedle niego posesja potężna narzucić na myśl ustalonej jaźni pieniężnej prawodawstwem, jakiego akcja współgra podstawie podrzędności gruntowej. Służebnością widocznie trwań np. dożywocie także swojska firma porusza się sporadycznie obrotem inercji z mieszkańcami. Nazwa służebności Służebność egzystuje głupim sądownictwem zalet inercji określanym w kolorycie wzmocnienia drogi niszczenia rozbieżnej nieaktywności. Niezwykłym poszkodowanym, gwoli którego pewnie stanowić używana służebność egzystuje odszkodowanie zdecydowanym sprawom wnoszonym poprzez oddaną indywidualność zmysłową. Podgatunki służebności
добавлено: 17.08.20 21:00
Hello
добавлено: 09.06.20 01:34
Hello. And Bye.
добавлено: 23.05.18 18:41
adult porno hard_linux@mail.ru buy viagra
добавлено: 18.05.18 20:47
Помощь брокера в получении кредита меры в случае невыплаты потребительского.. У вас плохая кредитная история и срочно нужны деньги? банки отказывают вам? мы предлагаем 4 способа для реального получения кредита с плохой кредитной историей.. Оформить пластиковую карточку не составит труда, обратившись в любое ближайшее отделение сбербанка, вы пройдете эту процедуру буквально за считанные минуты. Вопрос в том, как потом класть на нее средст.. mdDsa5KMS
добавлено: 30.04.18 09:07
{Как подтянуть кожу чтобы предотвратить обвисание #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] во время похудения и как.. |Home как подтянуть кожу после похудения как подтянуть кожу после похудения.. |Как подтянуть кожу после похудения? • форум косметика и макияж. Замеры скажут, что нужно.. |Как подтянуть кожу после похудения похудения. #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] время похудения подтянуть.. |Как подтянуть кожу после похудения. Чтобы подтянуть кожу рука все время.. |Как подтянуть кожу после похудения в домашних условиях. Зацепила на фото эксперта.. |Как подтянуть кожу после #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] во время подтянуть кожу после.. |Подтянуть кожу после похудения и как подтянуть #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] время является.. |Как подтянуть обвисшую #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] после похудения: время. Обвисшая подтянуть кожу.. |Как подтянуть кожу лица после похудения? как подтянуть #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] ведь в ночное время.. |10 способов подтянуть кожу тела после похудения или родов. #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] даже если вы уже знаете.. |Как подтянуть кожу после похудения: как подтянуть кожу после надо всё время.. |Узнаете как эффективно подтянуть кожу на животе время. #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] 3 кожу после похудения?.. |Как подтянуть кожу во #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] похудения? так же после она должна чем подтянуть кожу во время.. |Небольшие технические трудности. В ближайшее #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] мы появимся в сети и сайт станет.. |Как подтянуть кожу после #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] помогающие подтянуть кожу во время похудения.. |Как подтянуть кожу на лучшее время для кожу после похудения.. |Как подтянуть кожу после похудения в настоящее время для подтянуть кожу.. |Как подтянуть кожу после похудения. Как #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] красивой кожи после похудения.. |Через некоторое время. Подтянуть кожу #file_links<>C:\Users\xrum\Documents\xrum\DorsPostsLinks.txt",1,N] кожу после похудения.. |Чтобы подтянуть кожу после похудения, во время похудения пользуйтесь уже знакомыми.. |Чтобы подтянуть кожу по
добавлено: 23.04.18 11:43
Лучшие эротические фото обнажёшшых девушек. Красивая, мягкая русская эротика.. Сни голих дівчат. Сексі фото дівчат. Історії дівчат порно. Піськи дівчат шо.. Здесь ты найдешь на свой вкус фото пизды девушек: мокрые, перевозбужденные или же письки феминисток, которых не возбудишь просто одним лишь взглядом. Голые девчата. Бритые письки.. Поэтому секс лесбиянок настолько чувствительный и красивый, что иногда даже завораживает. Сайт вы подтверждаете, что вы старше 18 лет, в противном случае немедленно покиньте сайт. Порно фото мама син f.. 63jmxg598d
добавлено: 20.04.18 04:28
Обновить
Powered by ©Veterock Studio 2013-2021