Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Скачивание файла

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C/C++ только в данном разделе

Ответ
 
Опции темы
Старый 08.05.2013, 22:11   #1
Подпольщик RF Online
 Пехотинец
Аватар для артём612
 
артём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небе
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Отправить сообщение для артём612 с помощью Skype™
 
По умолчанию Скачивание файла

Мне надо скачать текстовый файл с интернета потом его обработать и тд.
со 2 я сам разберусь но встал вопрос с 1
это скачивание файла
сколько обсмотрел интернет ничего полезного не нашёл =(
пробовал :
PHP код:
URLDownloadToFile0"http://123.ru/123.txt""c:\\myfile.txt"00); 
но файл не скачивается и более программа закрывается только через диспетчер задач ...
  Ответить с цитированием
Старый 08.05.2013, 23:17   #2
 Пехотинец
Аватар для twice
 
twice на правильном путиtwice на правильном пути
Регистрация: 07.07.2012
Сообщений: 60
Популярность: 171
Сказал(а) спасибо: 3
Поблагодарили 11 раз(а) в 10 сообщениях
 
По умолчанию Re: Скачивание файла

http://zhyk.ru/forum/showthread.php?t=681133

По указанной ссылке Annedroid любезно выложила заголовочник с классом, в котором есть весь необходимый функционал.
  Ответить с цитированием
Пользователь сказал cпасибо:
артём612 (09.05.2013)
Старый 09.05.2013, 18:41   #3
Подпольщик RF Online
 Пехотинец
Аватар для артём612
 
артём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небе
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Отправить сообщение для артём612 с помощью Skype™
 
По умолчанию Re: Скачивание файла

спасибо но всё же я может что то не то делаю но файл не скачивает всё равно и результат тот же... =(
  Ответить с цитированием
Старый 09.05.2013, 22:25   #4
 Пехотинец
Аватар для twice
 
twice на правильном путиtwice на правильном пути
Регистрация: 07.07.2012
Сообщений: 60
Популярность: 171
Сказал(а) спасибо: 3
Поблагодарили 11 раз(а) в 10 сообщениях
 
По умолчанию Re: Скачивание файла

Цитата:
Сообщение от артём612Посмотреть сообщение
файл не скачивает всё равно и результат тот же... =(

На выполнении какой функции прога виснет?
  Ответить с цитированием
Старый 09.05.2013, 23:26   #5
Подпольщик RF Online
 Пехотинец
Аватар для артём612
 
артём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небе
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Отправить сообщение для артём612 с помощью Skype™
 
По умолчанию Re: Скачивание файла

Цитата:
Сообщение от twiceПосмотреть сообщение
На выполнении какой функции прога виснет?

при выполнении обеих функций прога виснет =(
и той которую выложела Аня и ту которую я пытался использовать до этого...
  Ответить с цитированием
Старый 10.05.2013, 00:01   #6
 Пехотинец
Аватар для twice
 
twice на правильном путиtwice на правильном пути
Регистрация: 07.07.2012
Сообщений: 60
Популярность: 171
Сказал(а) спасибо: 3
Поблагодарили 11 раз(а) в 10 сообщениях
 
По умолчанию Re: Скачивание файла

Цитата:
Сообщение от артём612Посмотреть сообщение
при выполнении обеих функций прога виснет =(
и той которую выложела Аня и ту которую я пытался использовать до этого...

В режиме отладки пройди по коду Анны и посмотри, на выполнении какой конкретно функции все виснет.

Как вариант напиши ссылку до файлика, может сейчас поэкспериментирую.
  Ответить с цитированием
Старый 10.05.2013, 12:56   #7
Подпольщик RF Online
 Пехотинец
Аватар для артём612
 
артём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небе
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Отправить сообщение для артём612 с помощью Skype™
 
По умолчанию Re: Скачивание файла

Цитата:
Сообщение от twiceПосмотреть сообщение
В режиме отладки пройди по коду Анны и посмотри, на выполнении какой конкретно функции все виснет.

Как вариант напиши ссылку до файлика, может сейчас поэкспериментирую.

[Ссылки могут видеть только зарегистрированные пользователи. ]там лежит уже скомпелированая длл
  Ответить с цитированием
Старый 10.05.2013, 14:11   #8
 Пехотинец
Аватар для twice
 
twice на правильном путиtwice на правильном пути
Регистрация: 07.07.2012
Сообщений: 60
Популярность: 171
Сказал(а) спасибо: 3
Поблагодарили 11 раз(а) в 10 сообщениях
 
По умолчанию Re: Скачивание файла

Я имел ввиду ссылку на файл, который пытаешься скачать.

Ночью с напильником посидел и нужный мне текстовый файл с хостинга прога стала вытягивать на ура, поэтому или у тебя где-то в коде косяк, или файл не доступен. Сначала давай проверим второе (дай ссылку на файл, который скачивать хочешь), если не пойдет, тогда уже будем исходный код смотреть.
  Ответить с цитированием
Старый 10.05.2013, 14:25   #9
Подпольщик RF Online
 Пехотинец
Аватар для артём612
 
артём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небе
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Отправить сообщение для артём612 с помощью Skype™
 
По умолчанию Re: Скачивание файла

Цитата:
Сообщение от twiceПосмотреть сообщение
Я имел ввиду ссылку на файл, который пытаешься скачать.

Ночью с напильником посидел и нужный мне текстовый файл с хостинга прога стала вытягивать на ура, поэтому или у тебя где-то в коде косяк, или файл не доступен. Сначала давай проверим второе (дай ссылку на файл, который скачивать хочешь), если не пойдет, тогда уже будем исходный код смотреть.

[Ссылки могут видеть только зарегистрированные пользователи. ] это файл пока что он ценности не представляет
при скачивании его возникают трудности =(
  Ответить с цитированием
Старый 10.05.2013, 14:58   #10
 Пехотинец
Аватар для twice
 
twice на правильном путиtwice на правильном пути
Регистрация: 07.07.2012
Сообщений: 60
Популярность: 171
Сказал(а) спасибо: 3
Поблагодарили 11 раз(а) в 10 сообщениях
 
По умолчанию Re: Скачивание файла

Текст по ссылке - "ываукгшрсацтшуаршцс"

Текст скачанного файла - "ываукгшрсацтшуаршцс"

upd:

И в правду виснет, твоя проблема в функции InternetOpenUrl, которая проявляется, только только при использовании функции из dll'ки.

Цитата:
Проблема решилась при запуске функции в отдельном потоке.

Источник: [Ссылки могут видеть только зарегистрированные пользователи. ]

Последний раз редактировалось twice; 10.05.2013 в 16:50.
  Ответить с цитированием
Пользователь сказал cпасибо:
артём612 (11.05.2013)
Старый 11.05.2013, 12:16   #11
Подпольщик RF Online
 Пехотинец
Аватар для артём612
 
артём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небе
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Отправить сообщение для артём612 с помощью Skype™
 
По умолчанию Re: Скачивание файла

спасибо,но при вызове функции в потоке такая же проблема =(

Вот то что я пишу для попытки скачивания файла
CreateThread(0,0,(LPTHREAD_START_ROUTINE)Get("http ://justhack.3dn.ru/123.txt", "c:\\myfile.txt"),0,0,0);
эффект такой же как и без потока... =(

поправьте пожалуйста если я что то не так написал.
  Ответить с цитированием
Старый 11.05.2013, 14:56   #12
 Пехотинец
Аватар для twice
 
twice на правильном путиtwice на правильном пути
Регистрация: 07.07.2012
Сообщений: 60
Популярность: 171
Сказал(а) спасибо: 3
Поблагодарили 11 раз(а) в 10 сообщениях
 
По умолчанию Re: Скачивание файла

Цитата:
Сообщение от артём612Посмотреть сообщение
CreateThread(0,0,(LPTHREAD_START_ROUTINE)Get("http ://justhack.3dn.ru/123.txt", "c:\\myfile.txt"),0,0,0);

Для передачи параметра используется 4 параметр CreateThread.

В общем у меня заработало, необходимые изменения в твоем изначальном коде:

Код:
case DLL_PROCESS_ATTACH:
{
	DWORD dwThreadID = 0;
	HANDLE hThread = CreateThread(NULL, 0 , (LPTHREAD_START_ROUTINE)(Get), NULL, 0, &dwThreadID);
}
Остальное сводится к фиксам ошибок в функции
Код:
static HANDLE WINAPI Get()
Рабочий, но не красивый вариант будет ниже. Мой доработанный класс AInternet сейчас выложу в топике, где Анна выкладывала свой (мой является просто его переработкой/усовершенствованием).

Код:
static HANDLE __stdcall Get()
{
	wchar_t* lpszUrl = L"http://justhack.3dn.ru/123.txt";
	wchar_t* lpszFile = L"d:\\myfile.txt";

	DWORD_PTR pdwReadSize = NULL;
	INTERNET_BUFFERS ibBuffer;

	HINTERNET hInternet = InternetOpen( INTERNET_LOGIN, INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, 0 );
	HINTERNET hFile = InternetOpenUrl(hInternet, lpszUrl,NULL,NULL,INTERNET_FLAG_RELOAD,NULL);
	DWORD dwSize = 0;
	InternetQueryDataAvailable(hFile,&dwSize,NULL,NULL);

	//Setting up Internet Buffers structure
	memset(&ibBuffer,0,sizeof(INTERNET_BUFFERS));
	ibBuffer.dwBufferLength = dwSize;
	ibBuffer.lpvBuffer = new BYTE[ibBuffer.dwBufferLength];
	ibBuffer.dwStructSize = sizeof(INTERNET_BUFFERS);

	if (!InternetReadFileEx(hFile,&ibBuffer,ibBuffer.dwBufferLength,pdwReadSize))
	{
		delete [] ibBuffer.lpvBuffer;
	}
	
	InternetCloseHandle(hFile);

	HANDLE hOutputFile = CreateFile(lpszFile,GENERIC_WRITE,NULL,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
	
	//Async write to the end of file
	OVERLAPPED ovpSmth;
	ovpSmth.Offset = 0xFFFFFFFF;
	ovpSmth.OffsetHigh = 0xFFFFFFFF;

	if (!WriteFileEx(hOutputFile,ibBuffer.lpvBuffer,ibBuffer.dwBufferLength,&ovpSmth,NULL))
	{
		delete [] ibBuffer.lpvBuffer;
	}
	
	CloseHandle(hOutputFile);
	delete [] ibBuffer.lpvBuffer;
}
Добавлено через 1 час 0 минут
Кстати, не пытайся писать в корень "С", т.к. это требует запуска приложения от имени админа.

Последний раз редактировалось twice; 11.05.2013 в 15:56. Причина: Добавлено сообщение
  Ответить с цитированием
Пользователь сказал cпасибо:
артём612 (11.05.2013)
Старый 11.05.2013, 20:45   #13
Подпольщик RF Online
 Пехотинец
Аватар для артём612
 
артём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небеартём612 лучик света в грозовом небе
Регистрация: 10.10.2011
Сообщений: 65
Популярность: 772
Сказал(а) спасибо: 58
Поблагодарили 57 раз(а) в 32 сообщениях
Отправить сообщение для артём612 с помощью Skype™
 
По умолчанию Re: Скачивание файла

спасибо всё получилось!
  Ответить с цитированием
Старый 21.05.2013, 21:48   #14
 Разведчик
Аватар для BBaaG
 
BBaaG неизвестен в этих краяхBBaaG неизвестен в этих краях
Регистрация: 23.01.2012
Сообщений: 0
Популярность: -104
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Скачивание файла

пиши трай чтоб не вылитала
  Ответить с цитированием
Старый 23.05.2013, 11:31   #15
 Пехотинец
Аватар для twice
 
twice на правильном путиtwice на правильном пути
Регистрация: 07.07.2012
Сообщений: 60
Популярность: 171
Сказал(а) спасибо: 3
Поблагодарили 11 раз(а) в 10 сообщениях
 
По умолчанию Re: Скачивание файла

Цитата:
Сообщение от BBaaGПосмотреть сообщение
пиши трай чтоб не вылитала

У него не вылетала, а висла....
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скачивание файла из интернет,используя indy. создание прогрес-бара Dimedrol1536 Вопросы и ответы, обсуждения 3 19.02.2013 02:07
[Помогите!] Скачивание файла в директорию с программой GreatBall Вопросы и ответы, обсуждения 1 10.10.2012 13:18
[Помогите!] Скачивание файла из программы GreatBall Вопросы и ответы, обсуждения 2 28.09.2012 04:56
[Руководство] Скачивание файла L1nc0ln Web-программирование и технологии 0 25.04.2012 19:01
[Помогите!] Сварачивание ПВ Мариуc Общение и обсуждение Perfect World 3 07.04.2011 13:02

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 17:53.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net