Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.28;
Скачать: CL | DM;

Вниз

http   Найти похожие ветки 

 
Bast   (2007-08-28 13:36) [0]

Здравуствуйте!  Как скачать файл по протоколу http?
Заранее благодарен за ответ


 
BMouradov   (2007-08-29 13:43) [1]

uses HTTPSend;

function HttpGetTextProxy(const URL: string; const Response: PStrList; ProxyHost, ProxyPort, ProxyUser, ProxyPass: string): Boolean;
var
   HTTP: PHTTPSend;
begin
   HTTP := NewHTTPSend;
   try
       HTTP.ProxyHost := ProxyHost;
       HTTP.ProxyPort := ProxyPort;
       HTTP.ProxyUser := ProxyUser;
       HTTP.ProxyPass := ProxyPass;
       Result := HTTP.HTTPMethod("GET", URL);
       Response.LoadFromStream(HTTP.Document,false);
   finally
       HTTP.Free;
   end;
end; //HttpGetTextProxy


 
KOLBoss ©   (2008-03-31 13:20) [2]

Подскажите ещё, а как правельно типы описать, если они тут нужны?
у меня ошибки недекларировано PHTTPSend, NewHTTPSend,
Incompatible types: "TMemoryStream" and "PStream"


 
D[u]fa   (2008-03-31 15:47) [3]

это пример с использованием синапса

надо скачать его сначала http://www.kolnmck.ru/files/components/net/kolsyn.zip


 
KOLLBoss   (2008-03-31 16:53) [4]


> надо скачать его сначала

Спасибо понял, ого сколько ктото модулей синапса переделал.
Только у меня сверавно ошибка вылазеет в модуле blcksock
на инструкции inherited CloseSocket;
уже винду поменял и делпхи переустановил, не помогло :(
что делать????
мож я не те параметры прописал:
procedure TForm1.Button1Click(Sender: PObj);
var
PL : PStrList;
begin
HttpGetTextProxy("http://10.10.10.10/user/default.tisp",PL,"10.10.10.10","80","","");
Memo1.Text := PL.Text;
PL.Free;
end;


 
KOLBoss   (2008-03-31 16:56) [5]

Забыл добавить, а то поймёте не так.
PL := NewStrList;


 
D[u]fa   (2008-03-31 17:07) [6]

возможно кривой порт. попробуй заменить blcksock этим http://slil.ru/25637790


 
KOLBoss   (2008-03-31 17:49) [7]

Закинь весь синапс а
а, то они воще разные, то дин модуль ненравится то другово нет, то воще прцедуры не те. :(


 
Palladin ©   (2008-03-31 21:27) [8]

Кто здесь?


 
Compiler ©   (2008-03-31 22:13) [9]

> Как скачать файл по протоколу http?

http://www.kolnmck.ru/files/components/net/kolhttpdownload.7z
Чем плох? И Demo есть


 
D[u]fa   (2008-04-01 15:26) [10]

KOLBoss
вот портировал сам, последняя версия. глюки возможны

http://slil.ru/25641609


 
hornet   (2008-05-22 08:36) [11]

Приветствую, вопрос такой встал:
Делаю запрос:
uses
 HTTPSend;

begin
 HTTP := THTTPSend.Create;
 try
   HTTP.ProxyHost := "172.17.5.5";
   HTTP.ProxyPort := "3128";
   HTTP.UserName:="user";
   HTTP.Password:="pass";
   HTTP.HTTPMethod("GET", "http://test.ru/testing.htm");
   Memo1.Lines.Assign(HTTP.Headers);
   SetLength(s,HTTP.Document.Size);
   HTTP.Document.Read(s[1],HTTP.Document.Size);
   Memo2.Lines.Add(s);
   Memo2.Lines.add(inttostr(Http.Resultcode));
   Memo2.Lines.add(Http.ResultString);
 finally
   HTTP.Free;
end;
end;

в ответ получаю:
HTTP/1.0 407 Proxy Authentication Required
Server: squid/2.5.STABLE14
Mime-Version: 1.0
Date: Thu, 22 May 2008 04:24:14 GMT
Content-Type: text/html
Content-Length: 1291
Expires: Thu, 22 May 2008 04:24:14 GMT
X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
Proxy-Authenticate: NTLM
Proxy-Authenticate: Basic realm="Squin proxy-caching web server"
X-Cache: MISS from testserver...
Proxy-Connection: close

Похоже не может пройти авторизацию.
Может кто работал через такой прокси ?

D7, XP, kolsyn


 
D[u]fa   (2008-05-22 11:29) [12]

надо:
ProxyUser
ProxyPass


 
Danger ©   (2008-05-22 13:42) [13]


> Server: squid/2.5.STABLE14
> Mime-Version: 1.0
> Date: Thu, 22 May 2008 04:24:14 GMT
> Content-Type: text/html
> Content-Length: 1291
> Expires: Thu, 22 May 2008 04:24:14 GMT
> X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
> Proxy-Authenticate: NTLM


Не прошла аутентификацию NTLM для прокси-сервера. Т.е., например, Ваш компьютер включен в домен и пользователю, из-под которого пытаетесь скачать страничку, запрещен доступ к прокси-серверу.


 
hornet   (2008-05-22 14:19) [14]


> надо:
> ProxyUser
> ProxyPass

Это да, опечатался - но результат такой же :(


> Не прошла аутентификацию NTLM для прокси-сервера. Т.е.,
> например, Ваш компьютер включен в домен и пользователю,
> из-под которого пытаетесь скачать страничку, запрещен доступ
> к прокси-серверу.

Не прошла это понятно, а почему, все данные (прокси, порт, юзер, пароль) правильно ввожу!

тот же самы запрос через браузер делаю - все ок.


 
D[u]fa   (2008-05-22 19:34) [15]

По-моему в синапсе просто нету авторизации NTLM... хотя может и ошибаюсь


 
hornet   (2008-05-22 20:55) [16]

.. в синапсе просто нету авторизации NTLM...
а где нибудь она есть ?


 
D[u]fa   (2008-05-23 16:07) [17]

ну где то есть точно) вот на тори что-то нашлось http://www.torry.ru/authorsmore.php?id=3977 при желании в синапс привернуть мона


 
hornet   (2008-05-27 10:04) [18]

Сенкс, посмотрел - кое что сделал.
Но никак не могу понять, как происходит авторизация.
Получил:
var
 NTLM:TNTLM;
 r,r2: string;
 msg2:TNTLM_Message2;
 Buff: array [1..255] of byte;
begin
 r:=NTLM.GetMensaje1("192.168.4.12","domen");
 msg2:=NTLM.GetMensaje2(r);
 Move(msg2, Buff, SizeOf(msg2));
 r2:=NTLM.GetMensaje3("domen","192.168.4.12","user","pass",Buff);
end;

что дальше ...?
может кто подкинет документацию на русском, как NTLM авторизация работает ?


 
Barloggg   (2008-06-03 17:28) [19]

а у меня получилось!
бебебе. :)

захотелось мне быть "как все". а конкретно читать RSS. в своей программке.
kolhttp не понял.
пример про httpdownload [9] не прошел авторизацию

зато неожиданно сработал пример от duffa, который с синапсом и в котором очень много файлоффф.
я аж ужаснулся.
короче сделал так:
httpsend.pas

О! момент, а ведь это уже описано BMouradov  [1]
Вот так и делай, там все верно. нормально проходит авторизацию на прокси и идет дальше, и выкачивает что надо.
в общем доволен аки слон. теперь мне нужно искать xmlparser. для rss. где-то тут я его видел недавно...



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

Текущий архив: 2010.02.28;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.011 c
15-1261007230
Rouse_
2009-12-17 02:47
2010.02.28
Обучение PHP


6-1213512244
sashap
2008-06-15 10:44
2010.02.28
Определение переданной информации TWinSocketStream


6-1213164137
Михаил
2008-06-11 10:02
2010.02.28
необходима процедура преобразования обычной строки в %77%....


6-1211183591
ivanov
2008-05-19 11:53
2010.02.28
открыватьчужие ссылки в новом окне?


15-1260960381
vajo
2009-12-16 13:46
2010.02.28
Как настроить отправку почту из EXCEL через Outlook