Форум программистов, компьютерный форум CyberForum.ru

почему не скачивает по прямой ссылке? - C++

Восстановить пароль Регистрация
 
lohness
 Аватар для lohness
124 / 96 / 4
Регистрация: 24.04.2008
Сообщений: 885
29.11.2013, 12:23     почему не скачивает по прямой ссылке? #1
Вот этот код работает:
.....
URLDownloadToFile(0, urlfile.c_str(), savefile.c_str(),0,0);

но если пытаюсь указать напрямую откуда скачать и куда:

URLDownloadToFile(0, L"http://ic.pics.livejournal.com/lybimye_knigi/44197161/720259/720259_900.jpg", L"SAVE2.jpg", 0, 0);

то ничего не скачивает
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 12:23     почему не скачивает по прямой ссылке?
Посмотрите здесь:

C++ Переход по ссылке
Вызвать по ссылке C++
Агрегация по ссылке C++
Возвращение по ссылке C++
почему нельзя в операторе + возвращать оригинальное значение(по ссылке), а не копию. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newbie666
Заблокирован
29.11.2013, 12:30     почему не скачивает по прямой ссылке? #2
Цитата Сообщение от lohness Посмотреть сообщение
URLDownloadToFile(0, L"http://ic.pics.livejournal.com/lybimye_knigi/44197161/720259/720259_900.jpg", L"SAVE2.jpg", 0, 0);
потому что в эту функцию передаются обычные многобайтовые символы, а не юникод - убирай префиксы L перед текстами
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,917
Записей в блоге: 2
Завершенные тесты: 1
29.11.2013, 12:38     почему не скачивает по прямой ссылке? #3
Цитата Сообщение от newbie666 Посмотреть сообщение
потому что в эту функцию передаются обычные многобайтовые символы
они имеют тип LPCTSTR

Добавлено через 1 минуту
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Unicode and ANSI names URLDownloadToFileW (Unicode) and URLDownloadToFileA (ANSI)
lohness
 Аватар для lohness
124 / 96 / 4
Регистрация: 24.04.2008
Сообщений: 885
29.11.2013, 12:40  [ТС]     почему не скачивает по прямой ссылке? #4
URLDownloadToFile(0, "http://ic.pics.livejournal.com/lybimye_knigi/44197161/720259/720259_900.jpg", "SAVENAME2.jpg", 0, 0);

ConsoleApplication3.cpp(33): error C2664: URLDownloadToFileW: невозможно преобразовать параметр 2 из "const char [76]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
newbie666
Заблокирован
29.11.2013, 12:42     почему не скачивает по прямой ссылке? #5
Цитата Сообщение от Croessmah Посмотреть сообщение
они имеют тип LPCTSTR
тип зависит от настроек проекта, если в проекте стоит UNICODE, то по умолчанию будут LPCWSTR,а если мультибайт - LPCTSTR, у него наверное мультибайтовая стоит, а пихает туда юникод

Добавлено через 23 секунды
я был не прав

Добавлено через 22 секунды
значит ссылка не правильная
давай полный код
lohness
 Аватар для lohness
124 / 96 / 4
Регистрация: 24.04.2008
Сообщений: 885
29.11.2013, 13:17  [ТС]     почему не скачивает по прямой ссылке? #6
std::wstring wstr(str.begin(), str.end());

urlfile = L
"http://" + wstr;
std::
wstringstream wss;
wss << counter;
std::
wstring wsCounter;
wss >> wsCounter;

if (counter < 10)
{
savefile = L
"page0" + wsCounter;
}
else
{
savefile = L
"page" + wsCounter;
}
savefile = savefile + L
".jpg";

stroka = L"http://ic.pics.livejournal.com/lybimye_knigi/44197161/720259/720259_900.jpg";

wcout <<
"urlfile1 = " << stroka << "\n";
URLDownloadToFile(0, stroka.c_str(), L"SAVENAME2.jpg", 0, 0);
URLDownloadToFile(0, L"http://kid-book-museum.livejournal.com/714514.html", L"SAVENAME1.htm",0,0);
// URLDownloadToFile(0, urlfile.c_str(), savefile.c_str(),0,0);

++counter;


попробовал сделать по аналогии с рабочим кодом введя wstring strokа - все равно не скачивает а заремленая строка работает
newbie666
Заблокирован
29.11.2013, 13:42     почему не скачивает по прямой ссылке? #7
ну так если через
Цитата Сообщение от lohness Посмотреть сообщение
URLDownloadToFile(0, urlfile.c_str(), savefile.c_str(),0,0);
ты же пытаешься скачать файл под названием page01.jpg к пример, а где вбиваешь в ручную - L"SAVENAME2.jpg", может такого ваще нет бугагага
lohness
 Аватар для lohness
124 / 96 / 4
Регистрация: 24.04.2008
Сообщений: 885
29.11.2013, 13:48  [ТС]     почему не скачивает по прямой ссылке? #8
Цитата Сообщение от newbie666 Посмотреть сообщение
ну так если через
ты же пытаешься скачать файл под названием page01.jpg к пример, а где вбиваешь в ручную - L"SAVENAME2.jpg", может такого ваще нет бугагага
ничо не понял

pageХХХ.jpg это я сам назначаю имена будущим сейвам

у меня был рабочий код который брал ссылки из уже сохраненного файла менял их и по ним сохранял картинки
Сейчас это сохранение заремил чтобы не мешалось и пытаюсь просто указав откуда (ссылка 100% рабочая) и куда сохранить файлы
в итоге не работает
newbie666
Заблокирован
29.11.2013, 13:53     почему не скачивает по прямой ссылке? #9
wcout << "urlfile1 = " << stroka << "\n";
URLDownloadToFile(0, stroka.c_str(), L"SAVENAME2.jpg", 0, 0);
URLDownloadToFile(0, L"http://kid-book-museum.livejournal.com/714514.html", L"SAVENAME1.htm",0,0);
URLDownloadToFile(0, urlfile.c_str(), savefile.c_str(),0,0); - ПОСТАВЬ ТОЧКУ ОСТАНОВА ТУТ И ПОСМОТРИ, ЧТО У ТЕБЯ В УРЛЕ И В СЭЙВ ФАЙЛ И СРАВНИ С ТЕМ, ЧТО ТЫ ЧУТЬ ВЫШЕ ВРУЧНУЮ ПЫТАЕШСЯ ЗАГНАТЬ ЁЛКИ ЗЕЛЁНЫЕ
lohness
 Аватар для lohness
124 / 96 / 4
Регистрация: 24.04.2008
Сообщений: 885
29.11.2013, 14:00  [ТС]     почему не скачивает по прямой ссылке? #10

stroka = L
"http://ic.pics.livejournal.com/lybimye_knigi/44197161/720259/720259_900.jpg";
stroka1 = L
http://kid-book-museum.livejournal.com/714514.html;

wcout <<
"urlfile1 = " << stroka1 << "\n";

URLDownloadToFile(0, stroka.c_str(), L"SAVENAME2.jpg", 0, 0);
URLDownloadToFile(0, stroka1.c_str(), L"SAVENAME1.htm", 0, 0);

еще интереснее jpg качается а вот html нет
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
29.11.2013, 14:02     почему не скачивает по прямой ссылке? #11
Цитата Сообщение от lohness Посмотреть сообщение
stroka1 = Lhttp://kid-book-museum.livejournal.com/714514.html;
может все таки кавычки поставить?, хотя как это скомпильнулось?
newbie666
Заблокирован
29.11.2013, 14:06     почему не скачивает по прямой ссылке? #12
Пффффффф вы не обижайтесь, но что ты вы медленно соображаете )))))))
Давайте сюда весь проект в архиве - я посмотрю так и быть )))))))
lohness
 Аватар для lohness
124 / 96 / 4
Регистрация: 24.04.2008
Сообщений: 885
29.11.2013, 14:25  [ТС]     почему не скачивает по прямой ссылке? #13
Цитата Сообщение от Raali Посмотреть сообщение
может все таки кавычки поставить?, хотя как это скомпильнулось?
они там есть это сюда почему то не скопировались

Добавлено через 9 минут
Цитата Сообщение от newbie666 Посмотреть сообщение
Пффффффф вы не обижайтесь, но что ты вы медленно соображаете )))))))
Давайте сюда весь проект в архиве - я посмотрю так и быть )))))))

Я не обижаюсь
Я знаю что ничего не знаю


Все еще непонятнее

создал новый проект и просто скопировал в него текст из текущего
и ЗАРАБОТАЛО

вернул прямые ссылки:

URLDownloadToFile(0, L"http://ic.pics.livejournal.com/lybimye_knigi/44197161/720259/720259_900.jpg", L"SAVENAME2.jpg", 0, 0);
URLDownloadToFile(0, L"http://kid-book-museum.livejournal.com/714514.html", L"SAVENAME1.htm",0,0);

и тоже работает




Добавлено через 1 минуту
Похоже это антивирь (доктор) так себя проявляет

Иногда спрашивает пускать или нет приложение в сеть а иногда молча не пускает

Добавлено через 5 минут
правда непонятно в таком случае почему он картинки пропускает без проблем
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2013, 15:24     почему не скачивает по прямой ссылке?
Еще ссылки по теме:

C++ IDE wxDev-C++, при создании кнопки на форме она почему-то становится во весь экран, почему?
Передача по ссылке C++
Возврат по ссылке C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Croessmah
29.11.2013, 15:24     почему не скачивает по прямой ссылке?
  #14

Не по теме:

Цитата Сообщение от newbie666 Посмотреть сообщение
если мультибайт - LPCTSTR
без T

Yandex
Объявления
29.11.2013, 15:24     почему не скачивает по прямой ссылке?
Ответ Создать тему
Опции темы

Текущее время: 19:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru