Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2011, 12:40   #1
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию post запрос на отправку файла

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

через чарлес перехватил запрос добавления:
Цитата:
POST http://m1.webhop.net/magneto/persona.php HTTP/1.1
Host: m1.webhop.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Proxy-Connection: keep-alive
Referer: http://m1.webhop.net/magneto/persona...de=6978&page=1
Cookie: cc=1; magneto_pass=тут_мой_шифрованый_пас с; magneto_login=Tatt_Dogg; PHPSESSID=9nukb2rh2emb5qe0okpsotgo8 1
Content-Type: multipart/form-data; boundary=---------------------------20608292925997
Content-Length: 630

-----------------------------20608292925997
Content-Disposition: form-data; name="type"

addalbum
-----------------------------20608292925997
Content-Disposition: form-data; name="type3"


-----------------------------20608292925997
Content-Disposition: form-data; name="code"

6978
-----------------------------20608292925997
Content-Disposition: form-data; name="ps_file"; filename=""
Content-Type: application/octet-stream


-----------------------------20608292925997
Content-Disposition: form-data; name="url_poster"

http://www.foxbase.ru/images/275_1.jpg
-----------------------------20608292925997--
из через я сделал строчку запроса в браузере. выглядит так:
из браузера, со всеми печеньками и sessid'ами в базе запись создается, но фото похоже не загружается, потому что показывает крест.

начал делать на дэлфи. вот код реализующий такой же запрос. но без печенек и т.д.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  PostData:TStringList;
begin
  try
    PostData:=TStringList.Create;
    PostData.Clear;
    PostData.Add('type=addalbum');
    PostData.Add('code=6978');
    PostData.Add('url_poster=http://www.foxbase.ru/images/275_1.jpg');
    IdHTTP1.Post('www.m1.webhop.net/magneto/persona.php',PostData);
    memo1.Lines.add(IdHTTP1.Response.RawHeaders.Text);
    PostData.Free;
  except
  on e:Exception do
  PostData.Free;
end;
end;
в итоге в мемо выводится следующее
Цитата:
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html
Expires: Thu, 19 Nov 1981 08:52:00 GMT
X-Powered-By: PHP/5.3.3
Set-Cookie: PHPSESSID=l8l6rd39rdikmercjkc12fe2s 5; path=/
Set-Cookie: magneto_login=deleted; expires=Mon, 08-Feb-2010 09:39:54 GMT; path=/
Set-Cookie: magneto_pass=deleted; expires=Mon, 08-Feb-2010 09:39:54 GMT; path=/
X-Powered-By: ASP.NET
Date: Tue, 08 Feb 2011 09:39:54 GMT
Content-Length: 55031
X-Cache: MISS from tux
X-Cache-Lookup: MISS from tux:3128
Proxy-Connection: keep-alive
фото не добавляется в галерею.

почему этот код не работает? чего не хватает? как вообще реализовать такую программу?
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 08.02.2011, 13:28   #2
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

Тема рядом http://www.programmersforum.ru/showthread.php?t=135705 почитайте, Вы не тот тип данных отправляете.
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Старый 08.02.2011, 13:58   #3
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

я не файл загружаю, а ссылку на файл. с этой ссылкой работает скрипт на сервере

вот сам форма загрузки
Код:
<form method="post" name="frmlogin" enctype="multipart/form-data" action="persona.php">
<input type="hidden" name="type" value="addalbum">
<input type="hidden" name="type3" value="">
<input type="hidden" name="code" value="1134"> //тут id персоналии
<input type="text" name="url_poster" class=inputb2 size="44" maxlength="500" onFocus="id=className;" onBlur="id=''" value=''>
<input type="submit" value="Загрузить" class=inputb5 onMouseOver="id=className" onMouseOut="id=''">
Life if about choices
Make the right choice

Последний раз редактировалось TaTT DoGG; 08.02.2011 в 14:07.
TaTT DoGG вне форума Ответить с цитированием
Старый 08.02.2011, 17:28   #4
exn
Пользователь
 
Регистрация: 06.02.2011
Сообщений: 51
По умолчанию

Так вы отправляете application/x-www-form-urlencoded, а нужно multipart/form-data
exn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
post запрос? codermoder Работа с сетью в Delphi 19 01.09.2010 18:23
POST запрос timyr1997 Работа с сетью в Delphi 2 05.07.2010 20:54
POST запрос DeDoK Работа с сетью в Delphi 6 12.07.2009 00:48
post запрос Editor Работа с сетью в Delphi 4 20.04.2008 14:01