Показать сообщение отдельно
  #17  
Старый 30.07.2010, 19:09
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

friz, спасибо!
1. Можете найти "HTTP Analyzer V5" или любой другой снифер.
2. Ползем на сайт, заполняем форму "Загрузите картинку" тобишь
указываем картинку и если надо то теги и кликаем кнопку "Загрузить".
3. Смотрим какие действия и на какие адреса браузер шлет запросы нас интересует "Post"
4. Реализуем если нужно отправить только текст то можно использовать TStringList, а для отправки файла(ов) TIdMultiPartFormDataStream в uses нужно добавить IdMultipartFormData;

пример для TStringList:
Код:
var
SL: TStringList;
Otvet: String;
begin
SL:= TStringList.Create;
SL.Add('number=' +edit1.text);
{
Заполняем: 
1. "number" название поля 
2. "=" это разделитель названия поля и его значения при использовании TStringList он обязателен
3. в edit1.text будет значение поля 
}
SL.Add('massage=' +edit2.text);
SL.Add('value=Загрузить');	//значение в кавычки брать не надо Вот так не верно bas.Add('value="Загрузить"');
Otvet:= IdHTTP1.Post('http://delphisources.ru/', SL);
SL.Free;
end;

пример для TIdMultiPartFormDataStream:
Код:
var
MD: TIdMultiPartFormDataStream;
Otvet: String;
begin
MD:= TIdMultiPartFormDataStream.Create;
MD.AddFormField('text', edit1.text);
{
Заполняем: 
1. "text" название поля 
2. "=" не надо
3. в edit1.text будет значение поля 
}
MD.AddFile('uploadfile', edit2.text, '');
{
Заполняем: 
1. "uploadfile" название поля 
2. "=" не надо
3. в edit2.text будет значение поля тобишь адрес файла "C:\My.jpg"
4. '' оставляем пустым само заполнится или задаем принудительно к примеру "multipart/form-data"
}
MD.AddFormField('value', 'Загрузить');	//про кавычки написано выше
Otvet:= IdHTTP1.Post('http://delphisources.ru/', MD);
MD.Free;
end;

5. Возможно перенаправление на другой адрес обрабатывать ручную или сделать так idHTTP1.HandleRedirects:= true;
Ответить с цитированием