| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > idHTTP1 и закачка стр. из ЯНДЕКС.ру |
| Автор: Pcrepair 25.12.2011, 18:57 |
| Добрый день Есть компонент idHTTP1, с помощью которого можно закачать код ХТМЛ-страницы, указав УРЛ страницы. В общем все работает (кроме фреймов, сайтов с редиректом, и есть проблемы со шрифтами) НО, если задать адрес Ya.ru, выскакивает 301 ошибка и страница сервиса не загружается. Вопрос для знатоков ИНДИ 10 (РАД2010): 1. если предварительно отослать запрос (через POST ввести словосочетание для поиска, ну скажем "купить телевизор") в строку ввода поиска на Яндексе, получится ли закачать первую страницу ответа Яндекса? Или всетаки нужно это делать через ТВебБраузер? 2. что то страницы с отдельных сайтов закачиваются с кракозябрами, или вообще тексты с кириллицей не закачиваются, закачиваются только то что написано латиницей. С этим что то сделать можно? Если можно, то как? Всем ответившим по делу спасибо. |
| Автор: Pcrepair 27.12.2011, 19:26 | ||
| Решение задачи следующее: Использование TStringStream для решения проблем с кодировкой Код:
Результаты: код страницы в ПЕРЕМ типа TStringStream закачивается нормально, но может имееть две(или больше) разновидностей кодировки 1. если кодировка charset=windows-1251, то нужно использовать вариант1 2. если кодировка charset=UTF-8, то вариант1 (Utf8ToAnsi или UTF8Decode) 3. для универсальности нужен дополнительный код: вначале читать в ХТМЛ коде тип кодировки и делать выбор с применением доп. обработки Если кому не лень, модифицируйте код в стиле обработки исключений, но без вывода сообщений |