Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   К знатокам Web-1 (http://forums.kuban.ru/f1040/k_znatokam_web-1_a-7880781.html)

USSR 09.07.2016 13:27

К знатокам Web-1
 
10 дней парился в бане, напарился вдоволь, вышел вчера вечером, звезды горят, морда красная. Короче полный кайф. Точнее, не совсем полный. Мучаюсь с сайтом госзакупок по 223 закону (по 43 вроде тьфу тьфу все притерлось) С сайта надо в том числе скачивать вложенные к закупке документы и все бы хорошо, но встретился такой тендер, что в коде страницы есть только ссылка и имя файла без расширения. То есть я скачать то могу, но только без расширения с последующим геморроем при открывании файлов. При клике по ссылке открывается диалог скачивания файла, содержащий имя файла с расширением. Как мне программно из семерки получить полное имя с расширением? в интернете искал, тема возникала, но не у 1с-ников и мало что понял. Скачивать могу двумя способами - V7PPLUS и ADO Streem. Без расширения все прекрасно качается

VZ 09.07.2016 18:15

"[em]программно получить полное имя с расширением[/em]"
Где файл-то содержится? Который пытать собрался?
Если на компе - проблема в чем? Проводник расширение не показывает, или файл расширение потерял в процессе скачивания?
А изменить имя скаченного файла, добавив ему расширение, пробовал?

USSR 09.07.2016 18:45

(1)Есть страница конкретной закупки на сайте госзакупок. Есть http ссылки на документы закупки и есть имена файлов этих документов. Но в некоторых закупках (не у всех) у имен файлов нет расширений. Я не могу добавить раcширение, потому что его нет на этой странице. Вот пример:
</td>
<td style="width: 40%">
<a class="epz_aware"
href="/223/purchase/public/download/download.html?id=23402881"
title="" onclick="doNotLocking();">Образцы оттисков печатей и штампов</a>
</td>
<td style="width: 15%">

Как раз вся и проблема как узнать расширение. У "нормальных" закупок выглядит примерно так:

</td>
<td style="width: 40%">
<a class="epz_aware"
href="/223/purchase/public/download/download.html?id=21188813"
title="" onclick="doNotLocking();">документация печати и опечат ус-ва.doc</a>
</td>
<td style="width: 15%">

Поэтому расщирение никто не терял, я ж не руками его скачиваю и имя файла и ссылку беру произвоводя парсинг страницы. Вот имя закачанного файла я и хочу изменить )

VZ 09.07.2016 23:34

2-USSR > Т.е. "[em]я скачать то могу, но только без расширения[/em]"?
Тогда скачивай без раширения. И пытайся узнать у себя о файле.
[em]' Вывод аргументов файла
Set objArgs = WScript.Arguments
Set FSO = CreateObject("Scripting.FileSystemObject")
For I = 0 to objArgs.Count - 1
FileName = objArgs(I)
' WScript.Echo FileName
Set File = FSO.GetFile(FileName)
Str = vbNullString
Str = Str & "Дата создания - " & File.DateCreated & vbCrLf
Str = Str & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf
Str = Str & "Дата последней модификации - " & File.DateLastModified & vbCrLf
Str = Str & "Диск - " & File.Drive.DriveLetter & vbCrLf
Str = Str & "Имя - " & File.Name & vbCrLf
Str = Str & "Родительский каталог - " & File.ParentFolder.Path & vbCrLf
Str = Str & "Путь - " & File.Path & vbCrLf
Str = Str & "Короткое имя - " & File.ShortName & vbCrLf
Str = Str & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf
Str = Str & "Размер - " & File.Size & vbCrLf
Str = Str & "Тип файла - " & File.Type
MsgBox Str
Next
[/em]
Сохрани как .vbs на рабочем столе, и кинь на него файл.

VZ 09.07.2016 23:37

Попробуй еще архиватором раскрыть: а вдруг. Картинки часто зипуют.

USSR 10.07.2016 07:19

Не катит FSO. Для файла с расширением возвращает то что надо. Для копии этого же файла, но без расширения возвращает просто "File". Должны быть другие пути, ведь вручную файл скачивается с расширением

VZ 10.07.2016 11:35

5-USSR > Вот это совсем непонятно: как видно в (2), сам сайт ни в чем не виноват: он содержит ссылку (id=) в своем каталоге download. Виновато описание этой ссылки (onclick=), не содержащее расширения.
Отсюда вывод:
- либо, обнаружив отсутствия типа открываешь руками;
- либо жалуешься админам этого сайта, и они, теряя тапочки, бросаются исправлять косяк;
- либо открываешь сайт в браузере, и начинаешь шуровать там [em]сендкеем[/em], имитируя продвинутого пользователя;
- либо ты лезешь в каталог [em]/223/purchase/public/download/download.html[/em], и перебираешь его на предмет определенного id, после чего скрадываешь. Если оне это вообще позволят.
ИМХО.

USSR 10.07.2016 14:13

(6)руками не катит, это руки заказчика. Он не хочет руками, так как отвык. Админы сайта госзакупок если и бегают, то в супермодных кроссовках, они просто болт на всех забили. Будем дальше думать. По 43-закону такого безобразия пока что не встречалось

dewyjesutta 10.07.2016 16:16

??
 
и это всё(1-7) ты к 77-ке что ли прикручиваешь?

USSR 10.07.2016 16:56

(8)Да, а почему нет? есть конфигурация, много лет работает. И сейчас почти все работает, кроме обозначенной заморочки с расширением.

dewyjesutta 10.07.2016 16:58

удивительно просто, - и ничего личного, - шикарно. мне тут твердили просто, будто 7.7 = rip

USSR 10.07.2016 17:02

(10)Есть много на свете друг Горацио...
Разные бывают случаи, разные клиенты. Смотря что понимать под трупом, клиентов на 7.7 много, новые понятно на снеговиках, потому что 7.7 просто не купить

dewyjesutta 10.07.2016 17:12

горацио.. нюню)) а в прочем и не купить - тоже фэйк;)

USSR 10.07.2016 17:17

(12)это ж всего лишь цитата - ничего личного ) Почему не купить - фейк ? По моему официальных продаж уже нет. Года 3 назад один товарищ купил торговлю, и то уже сильно подорожавшую

USSR 10.07.2016 17:20

Как же узнать полное имя файла, ведь при скачивании вручную диалог скачивания его знает и скачивает с расширением. По 43 закону такого не было, хотя тоже местами сделано очень коряво. А стоит все наверняка сотни миллионов )

zogejuddy 10.07.2016 21:26

!!
 
йода в таких ситуациях всегда отвечал:
- ручками.
- но, учи..
- ручками, мой друг, ручками.
- н..
- РРУЧКАМИ!

USSR 11.07.2016 02:38

Ручками-неинтересно, такой совет я и сам могу дать

USSR 11.07.2016 05:40

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

perpetum 11.07.2016 06:49

17-USSR > - Ага, не напрасно терзался, заветная дверца открылась, и мы теперь будем знать. :-)

USSR 11.07.2016 11:10

уФФ, вроде победил, имя файла то быстро раздобыл, но вдоволь натрахался с его перекодировкой. Через ADODB Streem так и не вышло перекодировать строку, а потом не сразу вспомнил, что КодСимв в семерке и КодСимвола в 80-ке - не совсем одно и то же )) Всем спасибо ))


Текущее время: 23:37. Часовой пояс GMT +3.