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

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

Ответить
Настройки темы
[решено] скачать файл из инета из cgi-bin => location.replace

Пользователь


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

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


Читаю файлы из инета. Использовал inetget. Сегодня наткнулся на список ссылок вида:
cgi-bin/viewlist.pl?id=75349

при копировании ссылки в окно firefox она дает окно на загрузку, однако в автоит скаченный файл - html:
window.location.replace("/files/75349.pdf")

Можно как чтобы autoit читал такие файлы с инета? Альтернативно можно писать анализ что если ответ вида .location.replace то повторить скачку с новым адресом. Может все-же это уже реализовано?

Спасибо!

Отправлено: 06:32, 20-01-2011

 

Аватара для Creat0R

Must AutoIt


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

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


[Сеть, интернет] Как скачать файл с родным именем?

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

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

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

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 10:46, 20-01-2011 | #2



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

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


Пользователь


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

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


Спасибо! Код интересный и я кое-что оттуда узнал. Однако с моей ссылкой вместо реального пути к файлу функция _HTTPGetResponse возвращает в первой строке "OK" вместо "found", а строки "location:" вовсе нет - поэтому не срабатывает. Интересно почему, кто знает?

Да, на всякий вот полный путь если кто захочет поэкспериментировать:
http://www.lada-auto.ru/cgi-bin/view...es&ext=pdf

Отправлено: 07:11, 24-01-2011 | #3


Аватара для madmasles

Ветеран


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

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


AlexM,
С этой ссылкой у меня так скачивает:
Код: Выделить весь код
#include <INet.au3>

$sUrl = 'http://www.lada-auto.ru/cgi-bin/viewlist.pl?id=85544&fld=file_&tbl=vaz_catalogue_notes&ext=pdf'

If Not InetGetSize($sUrl) Then
    $sText = _INetGetSource($sUrl)
    $sFirstPartNewUrl = StringRegExpReplace($sUrl, '\A(http://.*?/)\w?.*', '\1')
    $sSecondPartNewUrl = StringRegExpReplace($sText, '(?s).*?\("/(.*?)"\)?.*', '\1')
    $sFileName = StringRegExpReplace($sSecondPartNewUrl, '^.*/', '')
    $sNewUrl = $sFirstPartNewUrl & $sSecondPartNewUrl
    $hDownload = InetGet($sNewUrl, @ScriptDir & '\' & $sFileName, 1, 1)
    Do
        Sleep(20)
    Until InetGetInfo($hDownload, 2)
    $nBytes = InetGetInfo($hDownload, 0)
    InetClose($hDownload)
    MsgBox(64, 'OK', 'Скачан файл ' & $sFileName & @CRLF & ' размером ' & $nBytes & ' b')
Else
    InetGet($sUrl, @ScriptDir & '\Test.pdf')
EndIf
Или сразу из ссылки "выдрать" прямую ссылку и скачать по ней:
Код: Выделить весь код
$sUrl = 'http://www.lada-auto.ru/cgi-bin/viewlist.pl?id=85544&fld=file_&tbl=vaz_catalogue_notes&ext=pdf'
$sCatalog = StringRegExpReplace($sUrl, '\A(http://.*?/)\w?.*fld=(.*?)_&?.*', '\1\2/')
$sFileName = StringRegExpReplace($sUrl, '(?s).*?id=(.*?)&fld?.*', '\1')
$sExt = StringRegExpReplace($sUrl, '(?s).*?ext=(.*?)\z', '\1')

$sNewUrl = $sCatalog & $sFileName & '.' & $sExt
MsgBox(64, '', 'Прямая ссылка: ' & $sNewUrl & @CRLF & 'Имя файла: ' & $sFileName & '.' & $sExt)
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:45, 24-01-2011 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как открыть bin файл? sade91 Хочу все знать 21 28-01-2010 13:21
Не открывается файл с расширением bin Trojn Хочу все знать 8 16-03-2005 02:21
Что такое Cgi-bin Millenium Вебмастеру 1 11-12-2004 02:33
Как создать файл с помощью CGI скрипта. lehha Программирование и базы данных 1 20-11-2003 09:48
Файл-видео с расширением bin lopushok Программирование и базы данных 1 03-10-2003 00:42




 
Переход