Форум » [x]Harbour » HTTP запросы » Ответить

HTTP запросы

fil: Не работал ли кто с HTTP запросами ? Пытаюсь открыть OLE-объекты ohttp = CreateObject( "MSXML2.XMLHTTP.6.0" ) или ohttp = CreateObject( "microsoft.XMLHTTP" ), но получаю логическое значение

Ответов - 22, стр: 1 2 All

fil: Заработало. Теперь с Send никак не разберусь. По идее , чтобы получить HTML страницы Send должен посылать пустышку

fil: Получилось - Send(NIL)

fil: Мониторю 90 страниц сайта и получаю их HTML Все отлично. Но в какой-то момент мой IP блокируют и вместо HTML начинаю получть: ...Доступ Вашего IP-адреса временно ограничен. обнаружили на нём подозрительную активность. С вашего IP генерируется мощный поток данных, мешающий другим ользователям .... Это могло быть вызвано следующими причинами: ;обновляли одну страницу множество раз ;открывали большое количество вкладок Можно как-то избежать блокировки: делать новый коннект перед каждой страницей ? закрывать открытую страницу ? или еще как


Dima: разве что свой IP менять или уменьшить частоту мониторинга

fil: динамически свой IP менять - эть мысль

fil: Наверное достаточно дрыгнуть сетевую карту тогда провайдер сам динмический IP поменяет ?

PSP: fil пишет: Наверное достаточно дрыгнуть сетевую карту тогда провайдер сам динмический IP поменяет ? Не факт. Если соединение - это обычный IPoE, то DHCP-сервер обычно помнит mac-адрес клиента и выдает на этот mac-адрес тот же ip-шник. Да и неизвестно, как у провайдера устроена борьба с флудом. Если нет ничего противозаконного, можно связаться с провайдером и обсудить этот вопрос.

petr707: Возможно, у этого сайта есть доступ к этим же данным по SOAP ? Тогда не должно быть такой проблемы.

fil: Ничего противозаконного. Попросили сделать монитор по Avito.ru Пользовать будут с домашнего компа(компов) т.ч. договориться с провайдером проблематично Наверно надо пользовать IPConfig (/release и /renew) mac-адрес тоже менять динамически по SOAP добраться до сайта не пробовал

PSP: fil пишет: mac-адрес тоже менять динамически У провайдера может быть включена привязка к определенному mac-адресу. Также, коммутатор провайдера может заблокировать порт клиента из-за смены mac-адреса, если включен ip-mac-port binding. ipconfig ничего не даст. Он лишь пошлет запрос на dhcp-сервер провайдера, в ответ на который получит тот же адрес)) На самом деле, провайдер тут не при чем. Это avito возмущается. На мой взгляд, единственный вариант - снижать частоту запросов и не запрашивать одновременно много страниц.

PSP: А еще народ говорит, что платный аккаунт на avito облегчает жизнь)) Можно связаться с менеджером на avito и всё уточнить. И можно еще купить платный доступ к vpn-серверу (это недорого) и с его помощью менять ip-шники хоть каждую минуту. Единственное, avito, по-моему, априори блокирует "нерусские" ip-адреса.

fil: Платить за что-то это не наш метод Пробнул ipconfig - таки да восстанавливается текущий IP Пойду по пути вставки задержки между коннектами ну и SOAP покручу. Правда я не понял каким методом SOAP-го клиента можно получить HTML страницы

petr707: fil пишет: SOAP-го клиента можно получить HTML страницы Никаким.. Soap - это не HTML.. а XML Soap - для невизуального программного взаимодействия - клиента и сайта. Если сайт имеет желание , то может реализовать доступ к своим данным не в виде html - страниц для браузеров пользователей, а в "виде запрос-ответ XML", ( платно, бесплатно, всем или получившим аккаунт(сертификат для идентификации ) для доступа к базе данных сайта). Условно - формируете XML - "Запрос списка объявлений в группе XXX за дату dd.mm.yyy" Отправляете на сайт, который этот SOAP-запрос принимает (по HTTP или HTTPS) В ответ получите XML, который можно записать, возможно, например, в линейную таблицу DBF. Список доступных типов запросов сайта - либо публикуется в схеме WSDL на определенном ресурсе сайта(портала), либо получите после оплаты подписки сайту на этот вебсервис. Например, http://ws.dice.spb.ru/default.asmx?WSDL - доступный публичный сервис Примеры публичных - курсы валют Центробанка, погода и т.п.

fil: petr707, спасибо, понял !

fil: petr707, через объект msxml2.domdocument можно получить XML документ страницы. Это не тоже, что и SOAP ?

petr707: Вот пример, все достаточно просто C:\harbour\contrib\hbwin\tests\ole.prg Для того, чтобы попробовать нужно еще на комп поставить пакет MS SOAP Toolkit en_soap_sdk_3.0.exe Другой вариант - библа cURL

fil: Спасибо ! Ну с msxml2.domdocument все значительно проще

petr707: Наверное, проще, но другое. SOAP не для того, чтобы "..получить XML документ страницы" Как правило, чтобы работать с текущей базой(базами) данных хостера, получать ответы на запрос(ы) к базе данных, заполнять базу данных и т.д. Формат ответа на запросы может быть любой - и текст, и XML и DBF. И можно обеспечить авторизацию , идентификацию клиента и хостера, шифрование трафика ну и т.д.

fil: А как узнать поддерживает ресурс SOAP или нет. Какие-нибудь интернет-магазины на битриксе, наверное.. Дабы грузить товар в MySQL клиентской прогой или отчеты получать ?

petr707: Спрашивать у хостера - предоставить API доступа к его данным. Например , Яндекс.Диск https://tech.yandex.ru/disk/ предоставляет доступ по WebDAV к хранилищу



полная версия страницы