2014-10-01 1 views
0

Я разрабатываю приложение в qt C++, которое загружает файл с веб-сайта и обрабатывает его.Доступ запрещен для загрузки файла с помощью libcurl

Я использовал libcurl в qt для скачивания файла.

я скачиваю файл, используя пример ссылки: «http://www.nseindia.com/content/historical/EQUITIES/2014/OCT/cm01OCT2014bhav.dbf.zip»

При загрузке этого файла с помощью браузера Он получает загрузку. Но когда я загружаю файл с помощью libcurl, то получаю ответ в консоли как access denied

Я попытался загрузить некоторые другие файлы, такие как curl libbrary, используя libcurl, одну и ту же программу, просто заменив URL-адрес. Пример: "http://mirrors.kernel.org/sources.redhat.com/cygwin/x86_64/release/curl/curl-7.37.1-1.tar.xz"

Есть ли что-нибудь в libcurl-подобных агентах или что-то вроде этого? Или его функциональность сервера, чтобы запретить автоматическое downlaod?

спасибо.

+0

Я получаю сообщение об ошибке «Отказано в доступе» в вашей первой ссылке даже в браузере. – hank

+0

Я использую последнюю версию google chrome, и она открылась, просто нажав ссылку в вопросе –

ответ

1

Try что-то вроде (указать агента пользователя и перенаправить в файл, это на вашей Linux оболочки)

curl -A "Mozilla/4.0" http://www.nseindia.com/content/historical/EQUITIES/2014/OCT/cm01OCT2014bhav.dbf.zip >yourfile.dbf.zip 

Edit: Просто понял, что вы скачиваете его через код на С ++. Приведенный выше пример показывает, что сервер, на котором размещен файл, имеет разрешение на основе пользовательского агента. Итак, в вашем коде вам нужно указать фиктивный пользовательский агент, например, «Mozilla/4.0», который должен вернуть буфер файла.