Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка файла на сервер через IdHTTP.Post 
:(
    Опции темы
BlueAlien
Дата 9.2.2015, 05:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 10.10.2014

Репутация: -1
Всего: -1



Доброе время суток. 
У меня есть код, позволяющий авторизоваться на сайте через метод компонента TIdHTTP Post: 
Код

procedure TForm1.Button1Click(Sender: TObject);
var 
LoginInfo: TStringList;
 Response: TStringStream;
begin 
 LoginInfo := TStringList.Create;
 Response := TStringStream.Create('');
 LoginInfo.Add('username=MyName');
 LoginInfo.Add('password=MyPass'); 
IdHTTP1.Post('http://mywebsite.xxx/login.php',LoginInfo,Response); 
Showmessage(Response.DataString); 
 Response.Free;
 LoginInfo.Free;
 end; 

Однако, я не знаю, как загрузить файл на сервер, после всего этого. Не подскажет ли кто? 
PM MAIL   Вверх
Illusion Dolphin
Дата 9.2.2015, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 2
Всего: 63



Сделайте POST на урл для загрузки файла и укажите авторизационную информацию (обычно как минимум куки), полученную при первом запросе. 


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
BlueAlien
Дата 11.2.2015, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 10.10.2014

Репутация: -1
Всего: -1



Цитата(Illusion Dolphin @  9.2.2015,  11:54 Найти цитируемый пост)
Сделайте POST на урл для загрузки файла и укажите авторизационную информацию (обычно как минимум куки), полученную при первом запросе. 

Поясните пожалуйста. 
PM MAIL   Вверх
Illusion Dolphin
Дата 11.2.2015, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 2
Всего: 63



Цитата

Поясните пожалуйста.  

Пояснения выходят за рамки темы обсуждения и находятся в области Web. Почитайте про Cookies, что такое сессия и как они связаны с Cookies, что такое HTTP1.1 и что такое POST запрос. Если останутся ещё вопросы - спрашивайте.


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
BlueAlien
Дата 12.2.2015, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 10.10.2014

Репутация: -1
Всего: -1



Цитата(Illusion Dolphin @  11.2.2015,  11:02 Найти цитируемый пост)
Пояснения выходят за рамки темы обсуждения и находятся в области Web. Почитайте про Cookies, что такое сессия и как они связаны с Cookies, что такое HTTP1.1 и что такое POST запрос. Если останутся ещё вопросы - спрашивайте.

Нет, не выходят. Я вас спрашиваю, про конкретное программирования, прошу привести конкретный пример кода, если можно. 
PM MAIL   Вверх
Illusion Dolphin
Дата 13.2.2015, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 2
Всего: 63



Цитата

про конкретное программирования

Не слышал о таком

Чтобы загрузить файл с авторизацией берёте пример раз http://stackoverflow.com/questions/1781940...download-a-file и добавляете в него кусочек из два http://stackoverflow.com/questions/1076566...-post-with-indy
Ключевые слова тут AllowCookies, CookieManager, HandleRedirects . 

P.S. Ну и в любом случае этого может не хватить т.к. сайты часто защищаются дополнительными средствами типа реквест токенов.


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
BlueAlien
Дата 14.2.2015, 21:48 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 10.10.2014

Репутация: -1
Всего: -1



Не кажется ли вам, что вы переигрываете? Я вас прошу просто указать мне, что нужно вставить вот в этот код: 
Код

procedure TForm1.Button1Click(Sender: TObject);
var 
LoginInfo: TStringList;
 Response: TStringStream;
begin 
 LoginInfo := TStringList.Create;
 Response := TStringStream.Create('');
 LoginInfo.Add('username=MyName');
 LoginInfo.Add('password=MyPass'); 
IdHTTP1.Post('http://mywebsite.xxx/login.php',LoginInfo,Response); 
Showmessage(Response.DataString); 
 Response.Free;
 LoginInfo.Free;
 end; 

для загрузки файла на сервер, а вы мне что-то толкаете про cookies и про http. При чем они тут, а? 
Блин, неужели нельзя просто ответить на поставленный вопрос? 

PM MAIL   Вверх
Illusion Dolphin
Дата 14.2.2015, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 2
Всего: 63



Цитата

про cookies и про http. При чем они тут, а? 

Хочу обратить ваше внимание на:
Цитата

для загрузки файла на сервер,
IdHTTP1.Post('http://mywebsite.xxx/login.php',LoginInfo,Response); 
авторизоваться на сайте

С учётом того, что авторизация хранится обычно (но не всегда) в сессии, которая обычно (но не всегда) удерживатеся при помощи куков и вам надо сделать POST через протокол HTTP  то мне не понятен ваш вопрос про уместность. 

P.S. Если вы хотите получить код для какого-то конкретного сайта, но не очень хочется вдаваться в подробности программирования и web - то я мог бы вам помочь от 25$ в час (включая общение для уточнения деталей).


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
BlueAlien
Дата 15.2.2015, 02:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 10.10.2014

Репутация: -1
Всего: -1



При чем тут сессия, а? Я уже авторизовался, теперь мне нужно просто запихнуть файл на сервер! 
PM MAIL   Вверх
Illusion Dolphin
Дата 15.2.2015, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 2
Всего: 63



Цитата

При чем тут сессия, а?

В ней запоминается информация, что пользователь зашёл на сайт. И запоминается это в момент входа на сайт. А чтобы второй запрос (загрузка файла, например) был ассоциирован с пользователем, "залогиневшемся" на сайте используются куки, которые были посланы в ответ в первом запросе. Эти же куки надо отправить во второй запрос чтобы сервер узнал что это именно тот пользователь, что был в первом запросе. Вот именно для этого вам надо использовать AllowCookies и CookieManager.

Это сообщение отредактировал(а) Illusion Dolphin - 15.2.2015, 10:15


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
BlueAlien
Дата 15.2.2015, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 10.10.2014

Репутация: -1
Всего: -1



Цитата(Illusion Dolphin @  15.2.2015,  10:12 Найти цитируемый пост)
В ней запоминается информация, что пользователь зашёл на сайт. И запоминается это в момент входа на сайт. А чтобы второй запрос (загрузка файла, например) был ассоциирован с пользователем, "залогиневшемся" на сайте используются куки, которые были посланы в ответ в первом запросе. Эти же куки надо отправить во второй запрос чтобы сервер узнал что это именно тот пользователь, что был в первом запросе. Вот именно для этого вам надо использовать AllowCookies и CookieManager.

Вы часом не индус? Зачем мне запоминать куки, если я хочу загрузить файл в том же блоке кода? 
Господи, я задал простой вопрос, неужели нельзя просто на него ответить, а не корчить из себя Хранителя Тайного Знания?
PM MAIL   Вверх
Keeper89
Дата 16.2.2015, 03:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 6
Всего: 58



BlueAlien

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

Если же Вы просите готовый код, чтобы тупо скопипастить - называйте цену, в центре помощи.


--------------------
PM MAIL WWW   Вверх
BlueAlien
Дата 18.2.2015, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 10.10.2014

Репутация: -1
Всего: -1



Цитата(Keeper89 @  16.2.2015,  03:27 Найти цитируемый пост)
вот в этом сообщении Вам были указаны ссылки на куски кода, которые решают подавляющую часть задачи. Надо просто додумать и скомпоновать.

Я попросил обьяснить мне, как дополнить вот этот код: 
Код

procedure TForm1.Button1Click(Sender: TObject);
var 
LoginInfo: TStringList;
 Response: TStringStream;
begin 
 LoginInfo := TStringList.Create;
 Response := TStringStream.Create('');
 LoginInfo.Add('username=MyName');
 LoginInfo.Add('password=MyPass'); 
IdHTTP1.Post('http://mywebsite.xxx/login.php',LoginInfo,Response); 
Showmessage(Response.DataString); 
 Response.Free;
 LoginInfo.Free;
 end; 

А вы начали куда-то в сторону разговор уводить. 
PM MAIL   Вверх
VZyablik
Дата 24.2.2015, 02:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.2.2015

Репутация: нет
Всего: нет



Поржал. 

 smile 
PM MAIL   Вверх
BlueAlien
Дата 24.2.2015, 04:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 10.10.2014

Репутация: -1
Всего: -1



Цитата(VZyablik @  24.2.2015,  02:19 Найти цитируемый пост)
Поржал. 

Смех без причины - признак дурачины. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1451 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.