Что нового

[Сеть, интернет] Как скачать файл с параметрами, или узнать прямой URL на файл?

Mr. Anderson

Новичок
Сообщения
122
Репутация
4
Ссылка такого вида:
Код:
http://lingvo.abbyyonline.com/Handlers/TranscriptionHandler.ashx?Text=%C9%99%27la%C9%AAn
Как скачать? InetGet не сохраняет :-X
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Mr. Anderson [?]
InetGet не сохраняет
Почему нет?

Код:
$sURL = "http://lingvo.abbyyonline.com/Handlers/TranscriptionHandler.ashx?Text=%C9%99%27la%C9%AAn"
InetGet($sURL, @DesktopDir & '\Image.jpg')
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Пример с извлечением имени файла:

Код:
#include <Encoding.au3>

$sURL = "http://lingvo.abbyyonline.com/Handlers/TranscriptionHandler.ashx?Text=%C9%99%27la%C9%AAn"
$sFileName = _Encoding_URIDecode(StringRegExpReplace($sURL, '^.*Text=(.*)$', '\1'))

InetGet($sURL, @DesktopDir & '\' & $sFileName & '.jpg')


Требует Encoding.au3.
 

Pavel

Новичок
Сообщения
125
Репутация
3
У меня до недавнего времени тоже стояла задача автоматически выгружать с сайта прайс без прямой ссылки (ссылка выглядела https://мой_сайт.ру/pricegen.php?User=мой_юзер&Pass=мой_пароль, по ней генерировался прайс-лист .xls)

Как не изгалялся с InetGet() у меня ничего не вышло.
Поэтому, задействовал извращенский способ, но вдруг кто-то увидит это сообщение и кому-то поможет :smile:

Код:
Local $sURL = "https://мой_сайт.ру/pricegen.php?User=мой_юзер&Pass=мой_пароль"
Local $dl = InetRead($sURL, 2) ; Загружаем всё в переменную
Local $file = FileOpen("test.xls", 2) ; Создаём файл
FileWrite($file, $dl) ; Записываем в него полученные данные с сайта
FileClose($file)
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Pavel [?]
задействовал извращенский способ
1. InetRead возвращает данные в бинарном виде, поэтому в файл некорректно запишется xls-содержание.
2. Этот способ можно заменить на простой InetGet($sURL, "test.xls").
3. Зачем там Inet.au3?
 

Pavel

Новичок
Сообщения
125
Репутация
3
CreatoR сказал(а):
Pavel [?]
задействовал извращенский способ
1. InetRead возвращает данные в бинарном виде, поэтому в файл некорректно запишется xls-содержание.
2. Этот способ можно заменить на простой InetGet($sURL, "test.xls").
3. Зачем там Inet.au3?
Возможно ночная горячка и бред, но InetGet() не сохранял файл.
Через InetRead всё работает и корректно пишется xls-содержание (проверено).
Inet.au3 по ошибке написал. Поправил.
 
Верх