Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];

Вниз

Компонет для получения страницы из инета по протоколу 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.006 c
2-1207770561
Polar
2008-04-09 23:49
2008.05.11
MessageDlg на русский язык


2-1208161609
lod
2008-04-14 12:26
2008.05.11
Разбить определёный периуд времени на недели.


2-1208076136
TRSteep
2008-04-13 12:42
2008.05.11
Динамический массив


2-1207910646
webpauk
2008-04-11 14:44
2008.05.11
Pointer & array


2-1207916107
Alral
2008-04-11 16:15
2008.05.11
TWebBrowser- получение HTML





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский