Categories
BLOG

win inet

ERROR_IO_PENDING на асинхронной операции FTP [Wininet C ++]

Недавно я работал над приложением, которое должно установить FTP-соединение с сервером и загрузить/загрузить файлы из него. По соображениям производительности я хотел бы загружать сразу несколько файлов. По этой причине я попытался реализовать асинхронную операцию в Wininet API с помощью функции InternetOpen вместе с флагом INTERNET_FLAG_ASYNC , а также функцией InternetSetStatusCallback . Вот пример моего кода, где я хочу рекурсивно перечислить все файлы в основном каталоге удаленного сервера:

Мой код основан на этом сообщении из Stack Overflow. Когда я запускаю его, я, прежде всего, получаю сообщение об ошибке после вызова InternetConnect , который является ERROR_IO_PENDING . Согласно ссылке WinAPI это означает, что все еще выполняется некоторая операция. Не следует ли предотвратить вызов WaitForSingleObject ? (на самом деле, дескриптор HINTERNET возвращаемый InternetConnect кажется действительным). Когда я FtpFindFirstFile функцию FtpFindFirstFile он правильно извлекает первый файл, но когда я использую дескриптор HINTERNET (который, опять же, кажется, действителен), возвращаемый им в функции InternetFindNextFile он с ошибкой INVALID_HANDLE_VALUE .

EDIT: Я принимаю эти ошибки при использовании кода Remy:

Может ли кто-нибудь помочь мне найти ошибку? Заранее спасибо.

Ошибка ERROR_IO_PENDING поступает из самого InternetOpen(). Поскольку WaitForSingleObject()… Вопрос по теме: c++, asynchronous, winapi, ftp, wininet.

Чтение из CodeBase программным путем WinInet.DLL

Есть небольшая задачка, читать из CodeBase определенные индикаторы скрипты эксперты, в названии или описании к которым есть некое ключевое слово.

Собственно не обязательно из CodeBase , можно приспособить куда угодно.

Простой перебор с использованием WebRequest наткнулся на блокировку по IP , вывод либо использовать большую задержку ,либо заходить через некоторый список прокси.

работа через WinInet.DLL , которая позволяет работать через прокси.

  • Рынок и физика его глобальных закономерностей
  • Как прочитать из FTP
  • О работе через прокси и не только.

Небольшой пример работы методом GET

Юра, хочу напомнить что в правилах есть пункт:

3.7. Вы соглашаетесь использовать сайт www.mql5.com только с помощью интерфейса, предоставленного компанией MetaQuotes Ltd на сайте www.mql5.com или посредством интерфейса в програмном обеспечении MetaQuotes Software, кроме случаев, когда отдельным соглашением с компанией MetaQuotes Ltd Вам разрешено иное. Вы, в частности, соглашаетесь н е использовать для доступа к сайту www.mql5.com автоматизированные средства, включая сценарии, сканеры и подобные технологии.

  • Бесплатные приложения для трейдинга
  • Форексный VPS бесплатно на 24 часа
  • 8 000+ сигналов для копирования
  • Экономические новости для анализа финансовых рынков
  • Войти через Facebook
  • Войти через Google

Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.

Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.

Есть небольшая задачка, читать из CodeBase определенные индикаторы скрипты эксперты, в названии или описании к которым есть некое ключевое слово