![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
http [Delphi, Windows]
Bast © (2007-08-28 13:36:00)Здравуствуйте! Как скачать файл по протоколу http?
Заранее благодарен за ответ
Barloggg (2008-06-03 17:28:00) [1]а у меня получилось!
бебебе. :)
захотелось мне быть "как все". а конкретно читать RSS. в своей программке.
kolhttp не понял.
пример про httpdownload [9] не прошел авторизацию
зато неожиданно сработал пример от duffa, который с синапсом и в котором очень много файлоффф.
я аж ужаснулся.
короче сделал так:
httpsend.pas
О! момент, а ведь это уже описано BMouradov [1]
Вот так и делай, там все верно. нормально проходит авторизацию на прокси и идет дальше, и выкачивает что надо.
в общем доволен аки слон. теперь мне нужно искать xmlparser. для rss. где-то тут я его видел недавно...
hornet (2008-05-27 10:04:00) [2]Сенкс, посмотрел - кое что сделал.
Но никак не могу понять, как происходит авторизация.
Получил:
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 авторизация работает ?
D[u]fa (2008-05-23 16:07:00) [3]ну где то есть точно) вот на тори что-то нашлось http://www.torry.ru/authorsmore.php?id=3977при желании в синапс привернуть мона
hornet (2008-05-22 20:55:00) [4]
.. в синапсе просто нету авторизации NTLM...
а где нибудь она есть ?
D[u]fa (2008-05-22 19:34:00) [5]По-моему в синапсе просто нету авторизации NTLM... хотя может и ошибаюсь
hornet (2008-05-22 14:19:00) [6]
> надо:
> ProxyUser
> ProxyPass
Это да, опечатался - но результат такой же :(
> Не прошла аутентификацию NTLM для прокси-сервера. Т.е.,
> например, Ваш компьютер включен в домен и пользователю,
> из-под которого пытаетесь скачать страничку, запрещен доступ
> к прокси-серверу.
Не прошла это понятно, а почему, все данные (прокси, порт, юзер, пароль) правильно ввожу!
тот же самы запрос через браузер делаю - все ок.
Danger (2008-05-22 13:42:00) [7]
> 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 для прокси-сервера. Т.е., например, Ваш компьютер включен в домен и пользователю, из-под которого пытаетесь скачать страничку, запрещен доступ к прокси-серверу.
D[u]fa (2008-05-22 11:29:00) [8]надо:
ProxyUser
ProxyPass
hornet (2008-05-22 08:36:00) [9]Приветствую, вопрос такой встал:
Делаю запрос:
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-04-01 15:26:00) [10]KOLBoss
вот портировал сам, последняя версия. глюки возможны
http://slil.ru/25641609
Compiler (2008-03-31 22:13:00) [11]> Как скачать файл по протоколу http?
http://www.kolnmck.ru/files/components/net/kolhttpdownload.7z
Чем плох? И Demo есть
Palladin (2008-03-31 21:27:00) [12]Кто здесь?
KOLBoss (2008-03-31 17:49:00) [13]Закинь весь синапс а
а, то они воще разные, то дин модуль ненравится то другово нет, то воще прцедуры не те. :(
D[u]fa (2008-03-31 17:07:00) [14]возможно кривой порт. попробуй заменить blcksock этим http://slil.ru/25637790
KOLBoss (2008-03-31 16:56:00) [15]Забыл добавить, а то поймёте не так.
PL := NewStrList;
KOLLBoss (2008-03-31 16:53:00) [16]
> надо скачать его сначала
Спасибо понял, ого сколько ктото модулей синапса переделал.
Только у меня сверавно ошибка вылазеет в модуле blcksock
на инструкции inheritedCloseSocket;
уже винду поменял и делпхи переустановил, не помогло :(
что делать????
мож я не те параметры прописал:
procedureTForm1.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;
D[u]fa (2008-03-31 15:47:00) [17]это пример с использованием синапса
надо скачать его сначала http://www.kolnmck.ru/files/components/net/kolsyn.zip
KOLBoss (2008-03-31 13:20:00) [18]Подскажите ещё, а как правельно типы описать, если они тут нужны?
у меня ошибки недекларировано PHTTPSend, NewHTTPSend,
Incompatible types: 'TMemoryStream'and 'PStream'
BMouradov (2007-08-29 13:43:00) [19]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