из того, что я помню, с помощью Internet Explorer объект вы не можете обойти его подсказкам безопасности.
я обойти это на работайте с помощью запросов post/get через объект serverhttp, получив файл как тело ответа, а затем используйте объект ADODB, чтобы сохранить тело непосредственно в заданное место.
Вот пример запроса GET, который должен загрузить файл непосредственно из URL:
set objhttp = new MSXML2.ServerXMLHTTP60
URL = "http://www.princexml.com/samples/catalog/PrinceCatalogue.pdf"
objhttp.Open "GET", URL, False
objhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objhttp.send
If objhttp.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write objhttp.responseBody
oStream.SaveToFile "filepath and filename.pdf", 2
oStream.Close
End If
Чтобы сделать эту работу для запроса POST вам нужно немного больше информации. Для того, чтобы попытаться найти информацию, вам нужно будет использовать инструмент разработчика F12 на Internet Explorer:
- Have InternetExplorer открытую на странице вы скачиваете из
- нажмите F12, чтобы открыть инструмент разработчика
- Нажмите on "Network"
- Нажмите кнопку «играть» («Включить захват сетевого трафика»)
- теперь загрузите файл, и вы должны увидеть POST, который запросил файл, который выкладывается в резюме Сети.
- Дважды щелкните по этой строке POST в инструменте F12 и нажмите «Запросить тело», что бы там ни было, это золотая руда, то, что было отправлено на URL-адрес, чтобы запросить файл. Если вы можете интерпретировать это и развернуть его в своем коде, тогда вы его взломали.
последнее, что нужно сделать было бы изменить две строки в коде выше:
objhttp.Open "POST", URL, False
objhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objhttp.send (This is where you put the data string i.e. the REQUEST BODY)
К сожалению, я не могу указать больше, есть тонны форматов, что запрос POST тело может иметь поэтому, не видя примера вашей системы, я не могу идти дальше.
«Ввести строку с вашими файлами здесь» - это имя файла или что? –
К сожалению, я не мог быть более конкретным с примером для этой части, потому что я не мог получить доступ к веб-сайту через URL-адрес, который вы предоставили для проведения теста. «Строка запроса файла» будет представлять собой пару ключей/значений, которые сообщают серверу, что вы после этого. Я попытаюсь найти пример загрузки файла, который вы можете реплицировать на своем сайте, чтобы понять суть его работы. – jamheadart
Отредактированный ответ, чтобы показать обработанный пример для запроса GET, если вы можете использовать монитор сетевого трафика (для IE это кнопка F12), вы сможете увидеть, что представляет собой строка запроса POST при загрузке файла. Попробуйте подражать этому. – jamheadart