Главная страница
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.033 c
9-1169924801
@!!ex
2007-01-27 22:06
2008.05.11
Метка за пределами экрана.


15-1206343589
Ega23
2008-03-24 10:26
2008.05.11
Возможно ли в Windows получение текущего времени


2-1207937543
lewka-serdceed
2008-04-11 22:12
2008.05.11
Вывод даты из DateTimePicker


2-1207753937
Омск
2008-04-09 19:12
2008.05.11
Перевод миль в километры


2-1207975946
Danco
2008-04-12 08:52
2008.05.11
Свернуть и развернуть приложение.