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

Вниз

Компонет для получения страницы из инета по протоколу HTTP   Найти похожие ветки 

 
leonidus ©   (2007-08-01 11:13) [0]

Ситуация следующая. Нужен компонент на вход которого можно быо подать URL, а на выходе получить TStringlist загруженный HTML-кодом загруженной страницы. При этом компонент должен уметь работать с разными видами прокси и в случае авторизации умел показывать стандартное окно Windows с предложением ввести логин и пароль. Пробовал все это реализовать использую idHTTP, работает как-то не стабильно. Может есть готовые решения?


 
Сергей М. ©   (2007-08-01 11:20) [1]


> idHTTP, работает как-то не стабильно


В чем она проявляется ?


 
SpellCaster   (2007-08-01 12:33) [2]

ICS


 
umbra ©   (2007-08-01 12:51) [3]


> ICS
>

чем, иртересно HTTP-клиент из ICS принципиально отличаетс от HTTP-клиента из Indy?


 
Eraser ©   (2007-08-01 14:46) [4]


> umbra ©   (01.08.07 12:51) [3]

тем, что может работать в асинхронном режиме.
Для работы с разными прокси я бы всё таки рекомендовал indy.


 
umbra ©   (2007-08-01 17:02) [5]


> может работать в асинхронном режиме

но ведь к хттп это никак не относится. Я имел в виду HTTP-клиент :0


 
DVM ©   (2007-08-01 17:13) [6]


> но ведь к хттп это никак не относится

Именно к HTTP не относится, но клиенты различаются именно этим. Компоненты Инди используют блокирующие сокеты, ICS - асинхронные.


 
tesseract ©   (2007-08-01 17:35) [7]


>  Компоненты Инди используют блокирующие сокеты, ICS - асинхронные.


гм, в 9-ом точно как-то использовал неблокирующие. Хотя всё равно потом отказался - проще в потоках блокирующие использовать.


 
Anatoly Podgoretsky ©   (2007-08-01 21:54) [8]

Количество потоков резко ограничено, а ICS в состоянии держать 32000 соединений на один поток.


 
Rouse_ ©   (2007-08-02 09:40) [9]

Ну компонент - не компонент... так процедурка небольшая:

http://delphimaster.net/view/6-1184925658/


 
umbra ©   (2007-08-02 10:55) [10]


> ICS в состоянии держать 32000 соединений на один поток

это как это? в винде ограничение на количество открытых хэндов у процесса - 10000. А если я правильно понимаю, асинхронные сокеты работают через оконные сообщения, т.е. 1 сокет == 1 окно == 1 хэндл


 
DVM ©   (2007-08-02 11:06) [11]


> т.е. 1 сокет == 1 окно == 1 хэндл

у вас неверное понимание механизма работы асинхронных сокетов на сообщениях.


 
umbra ©   (2007-08-02 11:13) [12]

а как правильно?


 
DVM ©   (2007-08-02 11:17) [13]


> а как правильно?

Для приема сокетных сообщений для разных сокетов может быть использовано одно единственное окно, т.к. разным сокетам можно назначить сообщения с разными номерами, скажем, WM_USER + 1 и WM_USER + 2 или использовать одно и то же сообщение, а сокеты различать по значению в wParam сообщения - там приходит хэндл сокета.



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

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

Наверх




Память: 0.5 MB
Время: 0.018 c
2-1207815713
azamatufa
2008-04-10 12:21
2008.05.11
TADOQuery - параметры...


2-1208032052
voe
2008-04-13 00:27
2008.05.11
Непонятное поведение Application.ProcessMessages


15-1206722016
Ega23
2008-03-28 19:33
2008.05.11
командная строка


6-1185952437
leonidus
2007-08-01 11:13
2008.05.11
Компонет для получения страницы из инета по протоколу HTTP


15-1206783905
builder
2008-03-29 12:45
2008.05.11
Посоветуйте программку для прослушивания радио через интернет