Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Вниз

Проблема с TidHTTP метод PUT   Найти похожие ветки 

 
mr. Eof   (2006-08-26 19:08) [0]

Добрый день!

Подскажите пожалуйста в чем я ошибаюсь при работе с TidHTTP. Вот код:
procedure TForm1.Button2Click(Sender: TObject);
var
 FHTTP: TIdHTTP;
 DestinationAddress: String;
 SourceAddress: TStream;

begin
 FHTTP:= TIdHTTP.Create(nil);
 try
   DestinationAddress:=Edit2.Text;
   FHTTP.Head(DestinationAddress);
   SourceAddress:= TFileStream.Create(Edit1.Text, fmCreate);

   FHTTP.Put(DestinationAddress, SourceAddress);
   SourceAddress.Free;
 finally
   FHTTP.Free;
 end;
end;


При выполнении - выскакивает ошибка:
- 404 (Project ... raised exception class EIdHTTPProtocolException with message "http/1.1 404 not found") если файла назначения (куда) - нет
- 405 (Project ... raised exception class EIdHTTPProtocolException with message "http/1.1 405 Method not allowed") если файл есть.

Закачиваю файл к себе на локалхост.

Спасибо!


 
Dmitrij_K   (2006-08-26 19:24) [1]

Метод Head выдает 404 если файл не существует
Метод Put не потдерживается (инди так написало). Включается на HTTP сервере


 
mr. Eof   (2006-08-26 19:36) [2]

ээ.. Извините, я не понял.. А как же тогда закачать файл на сервер?


 
Dmitrij_K   (2006-08-26 19:40) [3]

Сервер должен потдерживать метод Put (см. документацию сервера , как включить)


 
Dmitrij_K   (2006-08-26 19:43) [4]

код у тебя левый. Зачем понадобилось слать head потом put? не логично


 
mr. Eof   (2006-08-26 19:51) [5]

Так. Спасибо за замечание! Вычеркнул Head.

А Put - это какой-то специфический метод или стандартно он на всех серваках в Инете работает? Пишу программу, она должна будет заливать лог на сервак в Инете, так что возможно правильным будет использовать другой вариант (который бы поддерживали все серваки) закачивания файлов на сервер?


 
Dmitrij_K   (2006-08-26 19:57) [6]

Все серваки потдекживать невозможно.
Самый простой путь написать на php скрипт, он будет принимать и сорхранять файл.


 
Dmitrij_K   (2006-08-26 19:59) [7]

Отправка выглядит так
var a : TIdMultiPartFormDataStream;
begin
a := TIdMultiPartFormDataStream.Create;
a.AddFile("file1",FileName,"");
IdHTTP1.Post("http://127.0.0.1/test.php", a);
a.Free;
end;


 
mr. Eof   (2006-08-26 20:00) [8]

блин... облом...
А если использовать не TidHTTP а другой для FTP, то таких проблем не будет?

Там везде можно будет 1й функцией залить файл?


 
Ketmar ©   (2006-08-26 20:02) [9]

плакалъ. орешек.


 
Dmitrij_K   (2006-08-26 20:09) [10]

1й функцией обойтись никогда нельзя Ж)
использование ftp (file transfer protocol) логичней тк оно и существует для передачи файлов


 
mr. Eof   (2006-08-26 20:18) [11]

о! очень хорошо! Спасибо!



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.043 c
1-1164969759
Medved_
2006-12-01 13:42
2007.01.28
Текст в ячейках Stringrid и память


2-1168713511
Garacio
2007-01-13 21:38
2007.01.28
Часть названия файла


15-1168344143
Какондекалло
2007-01-09 15:02
2007.01.28
Централизованное тестирование! Пример


15-1166712306
vidiv
2006-12-21 17:45
2007.01.28
Программа, которая выводит собственный листинг


2-1168345826
Still Swamp
2007-01-09 15:30
2007.01.28
Проблемы с евритом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский