Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Закачка куска файла через InetGet

Ответить
Настройки темы
[решено] Закачка куска файла через InetGet

Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Вобщем мне нужно начать закачку файла, например закачать 100Байт в папку ТЕМП - оборвать закачку - проверить имя файла - если совпадает - скачать заного и полностью.

Можно сделать ? ... я просто неразу незанимался этим, в голову ничё нелезет.

Отправлено: 16:00, 05-07-2009

 

Аватара для Creat0R

Must AutoIt


Moderator


Сообщения: 3030
Благодарности: 996

Профиль | Сайт | Отправить PM | Цитировать


Могу только навести на верное(?) направление - TCP*. На большее времени пока нет

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

Русское сообщество AutoIt | CreatoR's Lab | Opera AC Community


Отправлено: 17:32, 05-07-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


FlatX007, посмотри описание функции:
Цитата:
InetGet ( "URL", "filename" [, reload [, background]] )
URL: Значение URL загружаемого файла. См. замечания.
...
background:
0 = (стандартное значение) Ожидать момента окончания загрузки и лишь затем продолжить выполнение.
1 = Немедленно продолжить выполнение. Загрузка будет проводиться в фоновом режиме. См замечания.
1. Что бы закачать файл из интернет - обязательно знать его имя (полный адрес).

2. А если необходимо проверить какие то данные в скачанном файле, то думаю врядтли он откроется корректно, если его докачать только наполовину.
Т.е. качать необходимо полностью: InetGet или, если необходимо только прочитать содержимое _INetGetSource.

3. В любом случае, если выполнение скрипта происходит стандартными функциями AutoIt, а не работа через WinApi и подобное. То тут уж вариант прерывания сложный - если выполняемая функция не поддерживает прерывание, и её выполнение занимает длительное время, то, думаю, легче на выполнение данных задач - запускать отдельный скрипт, который будет передовать (хотя не обязательно) данные в главный скрипт - вот его процес прервать то можно )

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?


Отправлено: 17:39, 05-07-2009 | #3


Аватара для Creat0R

Must AutoIt


Moderator


Сообщения: 3030
Благодарности: 996

Профиль | Сайт | Отправить PM | Цитировать


Цитата proxy:
посмотри описание функции: »
Afaik, она не позволяет докачивать файл.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

Русское сообщество AutoIt | CreatoR's Lab | Opera AC Community


Отправлено: 18:13, 05-07-2009 | #4


Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Цитата proxy:
2. А если необходимо проверить какие то данные в скачанном файле, то думаю врядтли он откроется корректно, если его докачать только наполовину. »
Мне нужно найти "наибольший" файл по названию.

Setup_1.exe
Setup_2.exe
Setup_3.exe

Помойму достаточно скачать один килобайт ,что бы проверить имя файла
Или может подругому можно ???

Вот что придумал (ну или малец позаимствовал )

Код: Выделить весь код
$sUrl_File = "http://ляля/Setup_1.exe"

Global $sFileName = StringRegExpReplace($sUrl_File, "^.*/", "")
Global $sFilePath = @TempDir & "\" & $sFileName

InetGet($sUrl_File, $sFilePath, 1, 1)

While @InetGetActive
    If @InetGetBytesRead > 10 Then InetGet("Abort")
Wend

Отправлено: 18:14, 05-07-2009 | #5


Аватара для Creat0R

Must AutoIt


Moderator


Сообщения: 3030
Благодарности: 996

Профиль | Сайт | Отправить PM | Цитировать


Цитата FlatX007:
Вот что придумал »
Я если честно, логики не вижу - Зачем качать часть файла для проверки совпадения имени, когда его имя заранее уже известно ($sFileName)?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

Русское сообщество AutoIt | CreatoR's Lab | Opera AC Community


Отправлено: 18:40, 05-07-2009 | #6


Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Я если честно, логики не вижу - Зачем качать часть файла для проверки совпадения имени, когда его имя заранее уже известно ($sFileName)? »
FlatX007, ОЧНИСЬ _))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Ты же, уже когда скачиваешь - указываешь КАКОЙ именно файл качаешь )))))))))))))))))))))))))))
Т.е. - достаточно вообще проверить - качается или нет, и если нет - то далее по списку .............

FlatX007, но, если уж очень нужны несколько байт файла, то скрипт этот самое то.

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?


Отправлено: 18:50, 05-07-2009 | #7


Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Да неизвесно имя файла .... извесно только Setup_1.exe ... если он есть проверяется Setup_2.exe и так далее... до самого большого числа хоть : Setup_100.exe

Это я для примера - я дальше ещё не придумал, вы думаете я совсем ужо ...

Отправлено: 19:18, 05-07-2009 | #8


Аватара для proxy

Старожил


Сообщения: 460
Благодарности: 152

Профиль | Отправить PM | Цитировать


Цитата FlatX007:
вы думаете я совсем ужо ... »
да нет, за чем же просто бывает плющит ...меня например ))

Цитата FlatX007:
Да неизвесно имя файла .... извесно только Setup_1.exe ... если он есть проверяется Setup_2.exe и так далее... до самого большого числа хоть : Setup_100.exe »
ну так вот, значит схема такая: начала скачивания файла Setup_1.exe - ЕСЛИ ОН скачивается (нет ошибок) ЗНАЧИТ ИМЯ ФАЙЛА = Setup_1.exe
т.е - нет необходимости проверять на диске имя файла, уже и так известно же ...

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?


Отправлено: 19:27, 05-07-2009 | #9


Аватара для SyDr

Старожил


Сообщения: 215
Благодарности: 62

Профиль | Отправить PM | Цитировать


FlatX007, признайся честно, тебе нужно найти $Number, где $Number максимально возможное?

$FileName & $Number & FileExt

-------

"Что мы думаем, знаем или во что верим в конце концов не так уж и важно.
Важно лишь то, что мы делаем."
Джон Раскин


Отправлено: 19:42, 05-07-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Закачка куска файла через InetGet

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] При посл.закачке 2х файлов через InetGet на 2ом файле всегда ошибка! FlatX007 AutoIt 12 26-08-2009 10:03
Отображение прогресса закачки файла через InetGet Creat0R AutoIt 0 18-06-2009 18:24
Параллельная закачка файла Ven Программное обеспечение Windows 10 22-02-2006 17:56
[решено] Не работает закачка файлов из инета через браузер W03L Microsoft Windows 2000/XP 2 06-12-2005 06:10
Закачка файла по PHP IksSafonsky Вебмастеру 4 04-12-2003 03:30




 
Переход