Мне нужно предоставить процесс для людей в жестко контролируемой корпоративной среде Windows, которые не могут получить доступ к PowerShell или установить программное обеспечение, похожее на wget, для загрузки очень больших файлов XML из интерфейсов веб-сервера, которые по умолчанию пытаются отобразить файлы XML размером более 50 МБ в браузере. Это приведет к краху их браузеров.

Как эти файлы могут быть загружены в виде файлов, а не отображены в виде страницы?

Они имеют общее программное обеспечение для Windows, такое как MS Office и обычные веб-браузеры, и имеют Notepad++. Файлы будут обрабатываться через другие (только загружаемые) сервисы, чтобы сделать их более управляемыми размерами, прежде чем они будут напрямую использоваться в Notepad++, что также будет бороться с необработанными файлами.

2 ответа2

1

Я нашел хитрость, используя тот факт, что Google Chrome перезагружает страницы, когда пытается их сохранить.

  • Откройте ссылки на огромное количество текста как обычные ссылки Chrome
  • Подождите, пока код не появится на экране, затем нажмите кнопку "Стоп" в браузере
  • Щелкните правой кнопкой мыши. "Сохранить как" теперь доступно. Это перезагружает неполную страницу, используя функцию загрузки с самого начала, вместо того, чтобы пытаться отобразить ее в браузере.

Другим вариантом, который я рассматривал в качестве последнего средства, было просто создание файла HTML, который не содержит ничего, кроме ссылки на страницу, которую они могли бы щелкнуть правой кнопкой мыши и сохранить из. Однако на них может распространяться ограничение безопасности при переходе по ссылке из автономного HTML-файла.

<html>
<head>
    <title>Right-click the link</title>
    <style> a { display: block; height: 200px; width: 200px; margin: 30px; padding: 80px 0px; text-align: center; font-size: 2em; background: #eeeeee; } </style>
</head>
<body>
<a href="url-here.com">Right click and save this link</a>
</body>
</html>
0

Браузеры выбирают способ обработки загруженного ресурса на основе Content-Type ресурса, как указано в ответе http, который его переносил (браузеры также обычно проверяют контент, чтобы выяснить, что это такое, если в Content-Type нет поля в ответ).

Таким образом, можно заставить браузер запрашивать сохранение любого загруженного ресурса, если вы можете изменить тип содержимого ответа. Тип контента, на который можно положиться, чтобы ресурс был сохранен в виде файла, имеет тип «application /octet-stream».

Вы можете изменить заголовок ответа Content-Type ответов http, используя прокси-сервер. Несколько прокси-серверов могут переписывать заголовки. Наш продукт WinGate предоставляет возможность изменять заголовки ответа перед отправкой ответа клиенту. Это также бесплатно для 10 одновременных пользователей, поэтому может быть бесплатным в вашей ситуации.

шаги:

  1. Во-первых, вам нужно установить прокси-сервер и настроить его на использование клиентами. Если у вас уже есть корпоративный прокси, вам может понадобиться настроить WWW прокси WinGate для подключения через этот прокси.

  2. Во-вторых, настройки переписать заголовок. WinGate имеет систему политик графического интерфейса потоковой диаграммы, на которую вы перетаскиваете элементы для обработки событий.

Событие, которое вы хотите обработать, является событием ProxyResponse для вашего WWW-прокси. В WinGate Management вы должны перейти к WinGate> Панель управления> Политика и нажать на задачу "Новая политика". Выберите « Source Type: Any HTTPProxy и « Event Type: ProxyResponse и присвойте ему имя.

Новая политика

Нажатие ОК откроет редактор политики. Перетащите событие (например, WWW Proxy Server: ProxyResponse) на лист в левом верхнем углу, затем перетащите проверку просмотра списка на лист, откроется диалоговое окно редактирования, нажмите забавную кнопку S в левом верхнем углу, и оно будет выглядеть вот так, детализируйте до Request.URL и нажмите OK

Добавить список и выбрать значение для соответствия

Выберите "сопоставление с шаблоном" для метода сопоставления и добавьте новое значение со спецификацией сопоставления для URL-адресов, для которых вы хотите изменить тип содержимого, с подстановочным знаком, если вам нужно сопоставить URL-адрес с разными строками запроса.

нажмите кнопку ОК, дайте ему имя, затем подключите этот элемент к событию, перетащив его из правой части события на элемент.

Затем перетащите элемент оценки Expression на лист. Введите значение Response.Headers.Set("Content-Type","application/octet-stream") , снять флажок «разрешить выражение в true/false ...»

Оценка выражений - Изменить тип содержимого

Затем подключите его к выходу Yes элемента проверки List. Нажмите кнопку «Сохранить» вверху, и она активна.

Ваша политика будет выглядеть примерно так.

Законченная политика

Теперь, когда кто-то запрашивает URL-адрес, соответствующий вашему подходящему значению в элементе Проверка URL-адреса, он сохраняет его в виде файла.

Отказ от ответственности: я работаю на Qbik, которые являются авторами WinGate

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .