Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.013 c
2-1207606761
иван8511
2008-04-08 02:19
2008.05.11
Защита программы от запуска на других компьютерах


6-1184809041
Дмитрий Белькевич
2007-07-19 05:37
2008.05.11
Сниффер траффика IdTCPServer


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


2-1207809049
TRSteep
2008-04-10 10:30
2008.05.11
Классы и ошибки


15-1206967558
kalexi
2008-03-31 16:45
2008.05.11
Как работают сканеры памяти?




   Наверх