Показать полную графическую версию : [решено] получение PDF файлов с сайта
LAKERS824
29-06-2012, 08:49
Есть txt файл, в котором записаны в каждой строке 10-значные номера:
1111111111
2222222222
3333333333
................
Необходимо читая этот файл построчно, подставлять каждую строку в запрос (см. ниже) вместо xxxxxxxx.
Но при этом в файле необходимо прописывать логин-пароль для подключения.
https://site.ru/.....createPDFbyNumber.ashx?OrderNumber=xxxxxxxxxx
И результат сохранять в отдельную папку, причем название файла должно содержать название строки, по которой делался запрос.
LAKERS824
04-07-2012, 14:45
нет идей?
Anonymоus
04-07-2012, 15:04
Я правильно понимаю алгоритм?
1) Брать номера из файла
2) Посылать запрос
3) Сохранять полученный в ответ на запрос файл под именем, взятым ранее из строки
Если да, то это делается элементарно, с помощью wget и for. Не понятен только пункт про логин:пароль, где они указываются? В теле запроса, прямо в url?
LAKERS824
04-07-2012, 15:17
да именно так, логин-пароль указывается в url.
файл итоговый должен быть pdf.
Wget использую, но итоговый pdf файл получить не могу, сохраняет какую-то ерунду.
Во вложении скан запроса WGET.
В принципе файл сохраняется, но название его и расширение непонятные, если переименовывыю файл в 1.txt (во вложении), то он читается.
В итоге как я понимаю какая-то ошибка, и pdf не сохраняется.
Anonymоus
04-07-2012, 15:31
В 1.txt запрос на авторизацию, точнее, страница логина. Это значит, что либо указания пары логин:пароль недостаточно, и нужно использовать ещё cookie, например - либо тем ресурсом блокируется сам wget по каким-то причинам. Попробуйте повторить запрос с добавкой ключа -U "useragent", где подставьте какой-то валидный юзерагент, к примеру, от Firefox.
Если не повезет, всегда можно попробовать использовать aria2 (очень мощная консольная качалка, для пакетного многопоточного скачивания незаменима) - сначала генерировать для неё файл с командами, а затем пакетно сохранять полученные pdf-ки.
LAKERS824
04-07-2012, 15:38
вообще на этом сайте сказано по ftp надо логиниться через filezilla и параметр Encryption д.б. - explicit FTP over TSL, может в этом проблема?
Anonymоus
04-07-2012, 15:45
LAKERS824, попробуйте с помощью Aria2
Полный мануал на русском (aria2.sourceforge.net/manual/ru/html/aria2c.html)
Бинарник под Windows, x86 (http://sourceforge.net/projects/aria2/files/stable/aria2-1.15.1/aria2-1.15.1-x86_64-w64-mingw32-build1.zip/download)
LAKERS824
04-07-2012, 16:12
спасибо, буду тогда курить Aria2, раз wget не хочет.
LAKERS824
04-07-2012, 16:32
нет, опять почему-то не хочет, ссылается на сертификат, правда если в браузере набивают, там вроде никакого сертификата не надо.
Anonymоus
04-07-2012, 16:50
LAKERS824, вы недостаточно внимательно читали ман.
--check-certificate=false
Если оставить проверку включенной, то нужно указывать их хранилище, что на windows реализовать с помощью aria затруднительно.
Действие этого ключа равнозначно ключу --no-check-certificate у wget.
LAKERS824
04-07-2012, 17:01
после отключения проверки сертификата он мне все равно закачивает файл 'login.aspx', по содержанию такой же, как и при использовании WGET. :-(
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.