Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lohness
143 / 115 / 8
Регистрация: 24.04.2008
Сообщений: 989
#1

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

29.11.2013, 12:23. Просмотров 558. Ответов 13
Метки нет (Все метки)

Вот этот код работает:
.....
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);

то ничего не скачивает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 12:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос почему не скачивает по прямой ссылке? (C++):

Почему при передаче по ссылке возвращается *this, а не this? - C++
Доброго времени суток! Изучаю перегрузку операции присваивания с указателем *this (ниже). Возврат идёт по ссылке на объект, то есть...

Почему передача по ссылке не работает, только по указателю? - C++
#include <iostream> #include<windows.h> #include<ctime> using namespace std; void input(int*,int); int main() { ...

Почему выдает ошибку при передаче по ссылке параметров? - C++
#include <iostream> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ void...

почему нельзя в операторе + возвращать оригинальное значение(по ссылке), а не копию. - C++
Второй час сижу над одним и тем же кодом и не могу понять, что не так. Не могу сообразить почему нельзя в операторе + возвращать...

VBS Скачивание несколько Файлов - Скрипт скачивает 2 копии файла указанного по первой ссылке - VBScript/JScript
Имеется такой код(скопипирован где то в инете и коряво модифицирован мной) strFileURL1 = "прямая ссылка на файл 1" strFileURL2 =...

Почему RestSharp вместо картинки скачивает html? - C#
RestRequest rrq = new RestRequest("captcha/captcha.php"); byte s= rc.DownloadData(rrq); ...

13
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 перед текстами
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
29.11.2013, 12:38 #3
Цитата Сообщение от newbie666 Посмотреть сообщение
потому что в эту функцию передаются обычные многобайтовые символы
они имеют тип LPCTSTR

Добавлено через 1 минуту
http://msdn.microsoft.com/en-us/library/ms775123%28v=vs.85%29.aspx
Unicode and ANSI names URLDownloadToFileW (Unicode) and URLDownloadToFileA (ANSI)
0
lohness
143 / 115 / 8
Регистрация: 24.04.2008
Сообщений: 989
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 ==========
0
newbie666
Заблокирован
29.11.2013, 12:42 #5
Цитата Сообщение от Croessmah Посмотреть сообщение
они имеют тип LPCTSTR
тип зависит от настроек проекта, если в проекте стоит UNICODE, то по умолчанию будут LPCWSTR,а если мультибайт - LPCTSTR, у него наверное мультибайтовая стоит, а пихает туда юникод

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

Добавлено через 22 секунды
значит ссылка не правильная
давай полный код
0
lohness
143 / 115 / 8
Регистрация: 24.04.2008
Сообщений: 989
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а - все равно не скачивает а заремленая строка работает
0
newbie666
Заблокирован
29.11.2013, 13:42 #7
ну так если через
Цитата Сообщение от lohness Посмотреть сообщение
URLDownloadToFile(0, urlfile.c_str(), savefile.c_str(),0,0);
ты же пытаешься скачать файл под названием page01.jpg к пример, а где вбиваешь в ручную - L"SAVENAME2.jpg", может такого ваще нет бугагага
0
lohness
143 / 115 / 8
Регистрация: 24.04.2008
Сообщений: 989
29.11.2013, 13:48  [ТС] #8
Цитата Сообщение от newbie666 Посмотреть сообщение
ну так если через
ты же пытаешься скачать файл под названием page01.jpg к пример, а где вбиваешь в ручную - L"SAVENAME2.jpg", может такого ваще нет бугагага
ничо не понял

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

у меня был рабочий код который брал ссылки из уже сохраненного файла менял их и по ним сохранял картинки
Сейчас это сохранение заремил чтобы не мешалось и пытаюсь просто указав откуда (ссылка 100% рабочая) и куда сохранить файлы
в итоге не работает
0
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); - ПОСТАВЬ ТОЧКУ ОСТАНОВА ТУТ И ПОСМОТРИ, ЧТО У ТЕБЯ В УРЛЕ И В СЭЙВ ФАЙЛ И СРАВНИ С ТЕМ, ЧТО ТЫ ЧУТЬ ВЫШЕ ВРУЧНУЮ ПЫТАЕШСЯ ЗАГНАТЬ ЁЛКИ ЗЕЛЁНЫЕ
0
lohness
143 / 115 / 8
Регистрация: 24.04.2008
Сообщений: 989
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 нет
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,068
Завершенные тесты: 1
29.11.2013, 14:02 #11
Цитата Сообщение от lohness Посмотреть сообщение
stroka1 = Lhttp://kid-book-museum.livejournal.com/714514.html;
может все таки кавычки поставить?, хотя как это скомпильнулось?
0
newbie666
Заблокирован
29.11.2013, 14:06 #12
Пффффффф вы не обижайтесь, но что ты вы медленно соображаете )))))))
Давайте сюда весь проект в архиве - я посмотрю так и быть )))))))
0
lohness
143 / 115 / 8
Регистрация: 24.04.2008
Сообщений: 989
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 минут
правда непонятно в таком случае почему он картинки пропускает без проблем
0
Croessmah
29.11.2013, 15:24     почему не скачивает по прямой ссылке?
  #14

Не по теме:

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2013, 15:24
Привет! Вот еще темы с ответами:

Сохранение картинки по прямой ссылке - Visual Basic
Доброго времени суток! Столкнулся с такой проблемой. Есть список прямых ссылок на картинки. Нужно перебрать все ссылки через цикл и...

Сохранить картинку по прямой ссылке - PHP
Здравствуйте. Кароче КАК сохранить картинку по конкретной ссылке?

Отдача файла не по прямой ссылке - PHP
Здравствуйте! Необходимо отдать файл не по прямой ссылке. Алгоритм, который хочу получить: 1. Пользователь идет по ссылке вида...

Скачать файл по прямой ссылке. - C#
Нужно скачать файл по прямой ссылке в консольке, который будет сохранять файл по опр. пути. Буду благодарен за пример.


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

Или воспользуйтесь поиском по форуму:
14
29.11.2013, 15:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru