PDA

Просмотр полной версии : Как отправить файл через POST?


_nic
11.12.2008, 01:23
Что то ничего немогу найти в гугле по этому поводу ,только все про авторизацию находит и все :( А как файл с помощью сокета по хттп протоколу передать найти немогу :( Может кто нибудь подскажет как надо правильно сформировать запрос?

preda1or
11.12.2008, 01:28
http://geekswithblogs.net/rakker/archive/2006/04/21/76044.aspx
Вроде поможет

WAR!9G
11.12.2008, 01:31
Если не ошибаюсь, в мою то молодость было так: try
Stream := TIdMultipartFormDataStream.Create;
Stream.AddFile('filename', 'C:\porno.jpg', 'image/jpeg');
s:=idhttp1.Post('http://www.site.com/upload.php',Stream);
except
end;
zap.Free;

_nic
11.12.2008, 02:21
Если не ошибаюсь, в мою то молодость было так: try
Stream := TIdMultipartFormDataStream.Create;
Stream.AddFile('filename', 'C:\porno.jpg', 'image/jpeg');
s:=idhttp1.Post('http://www.site.com/upload.php',Stream);
except
end;
zap.Free;
Мне инди не подходит.К тому же на bds 2006 оно кривое и непашет :mad:

De-visible
11.12.2008, 02:54
Тогда юзай WinSock.
Снифаешь какой нить запрос(например заливка файла куда нить), смотришь что как почем, а дальше дело прямых рук...

ShAnKaR
11.12.2008, 03:22
http://www.ietf.org/rfc/rfc1867.txt

_nic
11.12.2008, 21:41
Тогда юзай WinSock.
Снифаешь какой нить запрос(например заливка файла куда нить), смотришь что как почем, а дальше дело прямых рук...
А чем снифать то?А то лью файл на рапиду,смотрю в навископе а там ПОСТ запрос и рядом нигде не валялся :(

De-visible
11.12.2008, 22:47
А чем снифать то?А то лью файл на рапиду,смотрю в навископе а там ПОСТ запрос и рядом нигде не валялся :(
каким браузером пользуешься?

_nic
12.12.2008, 00:34
каким браузером пользуешься?
Оперой

_nic
12.12.2008, 17:35
Гружу файлы на рапиду си смотрю в навископе там где по идее должен быть ПОСТ такие вот непонятные заголовки

HTTP/1.0 200 OK
P3P: CP="ALL DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa TELa OUR STP UNI NAV STA PRE"
Date: Fri, 12 Dec 2008 13:27:46 GMT
Connection: close
Accept-Ranges: bytes
Content-Type: text/html; charset=ISO-8859-1
Cache-Control: no-cache
Content-Length: 8378

HTTP/1.0 200 OK
P3P: CP="ALL DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa TELa OUR STP UNI NAV STA PRE"
Date: Fri, 12 Dec 2008 13:27:47 GMT
RemovedHdr: close
Accept-Ranges: bytes
Content-Type: text/html
Expires: Fri, 12 Dec 2008 13:57:47 GMT
Removed-Header: 3549


Особенно меня смущает эта строка :confused:

P3P: CP="ALL DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa TELa OUR STP UNI NAV STA PRE"

Кто нибудь знает что эта чепуха вообще обозначает?

Dobby007
12.12.2008, 18:11
Гружу файлы на рапиду си смотрю в навископе там где по идее должен быть ПОСТ такие вот непонятные заголовки

HTTP/1.0 200 OK
P3P: CP="ALL DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa TELa OUR STP UNI NAV STA PRE"
Date: Fri, 12 Dec 2008 13:27:46 GMT
Connection: close
Accept-Ranges: bytes
Content-Type: text/html; charset=ISO-8859-1
Cache-Control: no-cache
Content-Length: 8378

HTTP/1.0 200 OK
P3P: CP="ALL DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa TELa OUR STP UNI NAV STA PRE"
Date: Fri, 12 Dec 2008 13:27:47 GMT
RemovedHdr: close
Accept-Ranges: bytes
Content-Type: text/html
Expires: Fri, 12 Dec 2008 13:57:47 GMT
Removed-Header: 3549


Особенно меня смущает эта строка :confused:

P3P: CP="ALL DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa TELa OUR STP UNI NAV STA PRE"

Кто нибудь знает что эта чепуха вообще обозначает?
На рапиду значит говоришь? Ну вот че выдает HttpAnalyzer при заливке туда файла с оперой:
POST /cgi-bin/upload.cgi?rsuploadid=150750792611358172 HTTP/1.1
User-Agent: Opera/9.51 (Windows NT 5.1; U; ru)
Host: rs244l3.rapidshare.com
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru,en;q=0.9,ru-RU;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Expect: 100-continue
Referer: http://rapidshare.com/
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailers
Content-Length: 299754
Content-Type: multipart/form-data; boundary=----------kXaflTq9SkBiH1m0Fi9gAw

------------kXaflTq9SkBiH1m0Fi9gAw
Content-Disposition: form-data; name="filecontent"; filename="owned_r.gif"
Content-Type: image/gif

GIF89a



zЈkЏYvG]0Ta/IQ{~|opke>zRBђr!¤f•\ЉTЂOsFZ7O-…Z"†`F*:#,’b\:'`<
.........................................

------------kXaflTq9SkBiH1m0Fi9gAw
Content-Disposition: form-data; name="u.x"

28
------------kXaflTq9SkBiH1m0Fi9gAw
Content-Disposition: form-data; name="u.y"

58
------------kXaflTq9SkBiH1m0Fi9gAw--
Вместо точек только продолжение контента файла... Так что Ничего здесь противоестественного нет ;)
Щас только что увидел... Вот то что ты как раз написал про "непонятные заголовки" это есть уже ответ сервера (рапиды) на твой пост-запрос:
HTTP/1.1 200 OK
P3P: CP="ALL DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAa IVDa CONa TELa OUR STP UNI NAV STA PRE"
Date: Fri, 12 Dec 2008 13:46:42 GMT
Connection: close
Accept-Ranges: bytes
Content-Type: text/html; charset=ISO-8859-1
Cache-Control: no-cache
Content-Length: 14986

_nic
13.12.2008, 17:16
Пытаюсь слать на такой скрипт

<?php

$uploaddir = '/localhost/www/';

$uploadfile = $uploaddir . basename($_FILES['filecontent']['name']);

move_uploaded_file($_FILES['filecontent']['tmp_name'], $uploadfile);

exit();

?>

Запрос выглядит так

POST http://localhost/file.php HTTP/1.0
User-Agent: Opera/9.62 (Windows NT 5.1; U; ru) Presto/2.1.1
Host: localhost
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Expect: 100-continue
Proxy-Connection: Keep-Alive, TE: deflate, gzip, chunked, identity, trailers
Content-Length: 81651
Content-Type: multipart/form-data
Content-Disposition: form-data; name="filecontent"; filename="owned_r.txt"
Content-Type: text/html

DATA0
M```0````(`#``0`"`0`1'@`.,C`Y+C@U+C#R.2XQ,S($`-D0``9?7W5T;7H1
M`+<R-C8R-34W-38N,3(R.$@S-CDP.2XR+C,N=71M8W-R/6=O;V=L97QU=&UC
M8VX]*&]R9V%N:6,I?'5T;6-M9$UO<F=A;FEC?'5T;6-T<CTE1$`E0C,E1$`E
M0C0E1$`E0C4E,C!Q:7`E,C`E1$#E.$4E1$#E.$`E1$`E0C`E1 $`E0D0E1$`E
M0C@E1$#E.$(E,C`E1$`E0D8E1$`E0C`E1$#E.$`E1$`E0D4E1 $`E0D(E1$`E
M0C@E,T82``@`````2B\I[!,`"`````!)/I`L`P!6#``&7
.................................................. ..............

Только вот файл не загрузился :( Что я мог не доглядеть?
Хм изучаю сейчас то что выдал HttpAnalyzer .На вкладке PostData почему то пусто.Видать я допусти какую то ошибку при формировании запроса.Но вот какую :confused: