Что нового

[Сеть / Интернет] Как скачать файл из интернета ?

ZanMax

Тестер
Сообщения
120
Репутация
5
Привет. Возник такой вопрос.
Как можно скачать файл из интернета.
Например есть программа в кторую человек вводит линк такого плана : www.site.com/pic.jpg
или www.site.com/Archiv.rar.

Архив или картинка грузится на комп и запускается.
Как сделать загрузку вне браузера ?
Спасибо.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
хм...
Код:
InetGet()
?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
А в Beta можно даже качать несколько файлов одновременно!
 
Автор
Z

ZanMax

Тестер
Сообщения
120
Репутация
5
Спс.
Такой вопросик. Если человек за Прокси. Как указать прокси сервер ?
Я так понимаю : InetGet берет настройки прокси из IE ?
Или я не прав ?
можно ли использовать : HttpSetProxy("","192.168.0.1:8080","","")
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Да, настройки прокси из IE.
Да, можно поменять прокси коммандой
Код:
HttpSetProxy("","192.168.0.1:8080","","")
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Александр [?]
а можно небольшой пример?
Из справки к 3.3.1.1:

Код:
InetGet("http://www.mozilla.org", @TempDir & "\mozilla.html")
InetGet("http://www.autoitscript.com", @TempDir & "autoitscript.html", 1)
InetGet("ftp://ftp.mozilla.org/pub/mozilla.org/README", @TempDir & "\Mozilla-README.txt", 1)

; Advanced example - downloading in the background
Local $hDownload = InetGet("http://www.autoitscript.com/autoit3/files/beta/update.dat", @TempDir & "\update.dat", 1, 1)
Do
	Sleep(250)
Until InetGetInfo($hDownload, 2)	; Check if the download is complete.
Local $nBytes = InetGetInfo($hDownload, 0)
InetClose($hDownload)	; Close the handle to release resourcs.
MsgBox(0, "", "Bytes read: " & $nBytes)
 

forfrends

Новичок
Сообщения
176
Репутация
3
[Сеть, интернет] Re: [Сеть / Интернет] Как скачать файл из интернета ?

Подскажите, а как прописать код для скачивания файлов с файлообменников?
например ссылка на файл выглядит вот так:
http://depositfiles.com/files/fq9uid5yn (depozit)
То как прописать код?
Код:
InetGet("http://depositfiles.com/files/fq9uid5yn", "IgrunHelper.zip")

- не работает
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
forfrends сказал(а):
например ссылка на файл выглядит вот так:http://depositfiles.com/files/fq9uid5yn
Это ссылка не на файл, а на страницу для скачки файла, где надо ещё ждать минуту до того как будет получена ссылка на файл.
Гляньте здесь
 

forfrends

Новичок
Сообщения
176
Репутация
3
Это если ввести в строке браузера, а если исспользоваль довн-лоад менеджер то сразу пойдет закачка. Как такое можно сделать при помощи аутоит?


Добавлено:
Сообщение автоматически объединено:

Просмотрел, только ничего не понял. К тому же там идет с рапиды а мне нужно с депозита
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
forfrends [?]
Это если ввести в строке браузера, а если исспользоваль довн-лоад менеджер то сразу пойдет закачка. Как такое можно сделать при помощи аутоит?
Можно, если есть желание.

Просмотрел, только ничего не понял. К тому же там идет с рапиды а мне нужно с депозита
Ну вы же хотите качать с файлообменника, вот я вам и привёл в пример программу которая это делает.

Учите AutoIt, начнёте понимать - сможите сделать.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
forfrends
depozit и другие файлообменники формируют ссылки на файлы динамически, каждый раз это новая ссылка!
Поэтому InetGet тут не поможет.


Добавлено:
Сообщение автоматически объединено:

Вот пример ссылки с depozit
Код:
http://fileshare255.depositfiles.com/auth-1283862555948d1f4c4a81e7b8bf6e29-95.27.230.4-1980869118-46311799-guest/FS255-6/IgrunHelper.zip
Если вы её сейчас введете, то вам будет выведено сообщение, что она устарела! Хотя пять секунд назад я с помощью её скачал ваш файл ;)
auth-1283862555948d1f4c4a81e7b8bf6e29 хеш авторизации
-95.27.230.5 IP
-1980869118 идентификатор файла (нужно провести анализ) изменение последних цифр приведёт к перенаправлению на другой файл
-46311799 не проверял что за "зверь"
-guest означает free аккаунт
 

forfrends

Новичок
Сообщения
176
Репутация
3
Круто... чтобы через аутоит качать надо поламать голову...
Ладно, будем что-то думать
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
forfrends [?]
надо поламать голову...
Не без этого :smile:

Но могу навести на мысль. Если вы введёте в строке браузера:
Код:
http://depositfiles.com/files/fq9uid5yn
а потом нажмёте "Бесплатно", то попадёте на новую страницу с рекламой!
На этой странице есть код:
Код:
<form onsubmit="download_started();show_begin_popup(0);" method="get" action="http://fileshare255.depositfiles.com/auth-1283862555948d1f4c4a81e7b8bf6e29-95.27.230.4-1980869118-46311799-guest/FS255-6/IgrunHelper.zip">
	<input type="submit" value="Скачать файл" class="download">
</form>
он скрыт, на то время пока таймер считает минуту! :smile:
Но никто вам не мешает скопировать ссылку, и начать скачивать файл с помощью InetGet! ;)

P.S. Для вашего замысла достаточно использовать IE.au3 или WinHttp.WinHttpRequest.5.1 и InetGet.
 

MURDOC

Новичок
Сообщения
8
Репутация
0
Подскажите пожалуйста, как проще написать скрипт для скачивания всех zip файлов с этой страницы?

http://download.drweb.com/bases/?lng=ru

Буду очень признателен за помощь.
 

axlwor

Скриптер
Сообщения
657
Репутация
147
тебе нужен именно скрипт или скачать? Скрипт то мне лень писать, а скачивать проще заставить wget
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
MURDOC сказал(а):
дскажите пожалуйста, как проще написать скрипт для скачивания всех zip файлов с этой страницы?http://download.drweb.com/bases/?lng=ruБуду очень признателен за помощь.

Собственную тему открыть лень?

1. используем InetGet чтобы скачать страницу с линками
2. используем FileRead чтобы прочитать скачанное
3. используем StringRegExp для нахождения нужных линков, т.е. всего что начинается на http (или href=", может там и фтп есть) и заканчивается на .zip
4. используем InetGet чтобы скачать найденное
Код:
#include <array.au3>

InetGet('http://download.drweb.com/bases/?lng=ru', @ScriptDir & '\ZipLinks.txt')

$sText = FileRead(@ScriptDir & '\ZipLinks.txt')

$aLinks = StringRegExp($sText, 'href="(.*?\.zip)"', 3)

_ArrayDisplay($aLinks) ;смотрим, что нашли

$iTo = UBound($aLinks)-1
For $i = 0 To $iTo Step +1
	ToolTip($i & '/' & $iTo)
	$sLink = $aLinks[$i]
	InetGet($sLink, @ScriptDir & '\' & StringTrimLeft($sLink, StringInStr($sLink, '/', 0, -1))) ;отрезаем от линка то, что было слева от последнего слэша - получаем имя файла
Next
 
Верх