Загрузка файлов с помощью cURL
30 сентября, 2020 12:09 пп 11 394 views | Комментариев нетLinux | Amber | Комментировать запись
cURL (или client URL) – это библиотека и утилита командной строки для передачи данных между системами. Она поддерживает множество протоколов и часто по умолчанию установлена во многих Unix-подобных операционных системах. Благодаря своей общедоступности cURL – это отличный выбор для загрузки файлов в локальную систему, особенно в серверной среде.
В этом мануале вы научитесь использовать команду curl на примере загрузки текстового файла с веб-сервера. Вы узнаете, как просмотреть его содержимое, сохранить его локально и включить поддержку перенаправлений в curl, если файл был перемещен.
Загрузка файлов из интернета может быть опасной для системы процедурой, поэтому рекомендуем загружать файлы только из надежных источников.
1: Загрузка файлов из удаленных источников
Обычная команда curl (без каких-либо аргументов) извлечет файл и отобразит его содержимое в стандартном выводе.
Давайте попробуем загрузить файл robots.txt:
curl https://www.digitalocean.com/robots.txt
Вы увидите, что содержимое файла отображается на экране:
User-agent: *
Disallow:
sitemap: https://www.digitalocean.com/sitemap.xml
sitemap: https://www.digitalocean.com/community/main_sitemap.xml.gz
sitemap: https://www.digitalocean.com/community/questions_sitemap.xml.gz
sitemap: https://www.digitalocean.com/community/users_sitemap.xml.gz
Предоставьте утилите curl URL-адрес, и она извлечет ресурс и отобразит его содержимое на вашем экране.
Сохранение загруженных файлов
Получение файла и отображение его содержимого – это хорошо, но это не сохраняет файл в системе. Что делать, если файл все же нужно сохранить?
Чтобы сохранить удаленный файл в локальной системе с его исходным именем, добавьте аргумент –remote-name или используйте параметр -O:
curl -O https://www. digitalocean.com/robots.txt
Ваш файл будет скачан:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 286 0 286 0 0 5296 0 --:--:-- --:--:-- --:--:-- 5296
Вместо содержимого файла curl отображает индикатор прогресса и сохраняет файл с тем же именем, что и на удаленном сервере. Вы можете проверить всё с помощью команды cat:
cat robots.txt
Файл содержит именно то, что вы видели ранее на экране:
User-agent: *
Disallow:
sitemap: https://www.digitalocean.com/sitemap.xml
sitemap: https://www.digitalocean.com/community/main_sitemap.xml.gz
sitemap: https://www.digitalocean.com/community/users_sitemap.xml.gz
Теперь давайте посмотрим, как выбрать новое имя для загруженного файла.
2: Сохранение загруженного файла с новым именем
Предположим, у вас уже есть локальный файл с тем же именем, что и у файла, загружаемого с удаленного сервера.
Чтобы избежать перезаписи одноименного локального файла, используйте аргумент -o или –output, за которым укажите имя файла, в который вы хотите сохранить содержимое.
К примеру, чтобы загрузить удаленный файл robots.txt в локальный файл do-bots.txt, введите следующую команду:
curl -o do-bots.txt https://www.digitalocean.com/robots.txt
Вы снова увидите индикатор выполнения:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 286 0 286 0 0 6975 0 --:--:-- --:--:-- --:--:-- 7150
Теперь используйте команду cat, чтобы отобразить содержимое файла do-bots.txt и убедиться, что это именно тот загруженный вами файл:
cat do-bots.txt
Вы увидите:
User-agent: *
Disallow:
sitemap: https://www.digitalocean.com/sitemap.xml
sitemap: https://www.digitalocean.com/community/main_sitemap. xml.gz
sitemap: https://www.digitalocean.com/community/questions_sitemap.xml.gz
sitemap: https://www.digitalocean.com/community/users_sitemap.xml.gz
По умолчанию curl не поддерживает перенаправления, поэтому вы можете не получить ожидаемого результата, если файлы были перемещены. Давайте посмотрим, как можно это исправить.
3: Поддержка перенаправлений
Пока что все примеры использовали полностью определенные URL-адреса, которые включают протокол https://. Если бы вы попытались получить файл robots.txt и указали бы только домен, вы не увидели бы никаких результатов, потому что сайт может перенаправлять запросы с http:// на https://.
Вы можете проверить это с помощью флага -I, который отображает заголовки запроса, а не содержимое файла:
curl -I www.digitalocean.com
Выходные данные показывают, что URL-адрес был перенаправлен. Первая строка вывода сообщает, что он был перемещен, а строка Location сообщает, куда именно:
HTTP/1. 1 301 Moved Permanently
Date: Wed, 26 Aug 2020 19:01:33 GMT
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Wed, 26 Aug 2020 20:01:33 GMT
Location: https://www.digitalocean.com/robots.txt
cf-request-id: 04cdbea7a40000c5cc8d34d200000001
Server: cloudflare
CF-RAY: 5c8fcd52aea0c5cc-EWR
Вы можете использовать curl и отправить другой запрос вручную. Также вы можете использовать аргумент –location (или –L), который позволит утилите curl отправить запрос в новое место, если она встречает перенаправление. Попробуйте сделать это:
curl -L www.digitalocean.com/robots.txt
На этот раз вы увидите ожидаемый результат, поскольку curl поддерживает перенаправление:
User-agent: *
Sitemap: https://www.digitalocean.com/sitemap.xml
Вы можете комбинировать аргумент -L с некоторыми из вышеупомянутых аргументов, чтобы загрузить файл в вашу локальную систему:
curl -L -o do-bots.txt www. digitalocean.com/robots.txt
Важно! Многие онлайн-ресурсы предлагают использовать curl для загрузки скриптов и их выполнения. Однако прежде чем делать исполняемыми и запускать какие-либо загруженные скрипты, вы должны проверить их содержимое. Используйте команду less, чтобы проверить код и убедиться, что он не причинит вреда вашей системе.
Заключение
Утилита curl позволяет быстро загружать файлы из удаленной системы. Она поддерживает множество различных протоколов, а также может выполнять более сложные веб-запросы, включая взаимодействие с удаленными API-интерфейсами для отправки и получения данных.
Вы можете узнать больше об этой утилите, просмотрев справку для curl:
man curl
Рабочий процесс с использованием подписанных URL-адресов (SAS) — Microsoft Genomics
- Статья
Это краткое руководство демонстрирует, как отправить рабочий процесс в службу Microsoft Genomics, используя файл config. txt с подписанным URL-адресом (SAS) вместо ключей учетной записи хранения. Эта функция может быть полезна, если есть опасения в отношении раскрытия ключа учетной записи хранения в файле config.txt.
В этой статье предполагается, что вы уже установили и запустили клиент msgen
и знаете, как использовать службу хранилища Azure. Если вы успешно отправили рабочий процесс с использованием предоставленного примера данных, можно продолжить работу с этой статьей.
Что такое SAS?
Подписанный URL-адрес (SAS) обеспечивает делегированный доступ к ресурсам в вашей учетной записи хранения. С помощью SAS можно предоставить доступ к ресурсам в учетной записи хранения, не предоставляя общий доступ к ключам учетной записи. Это ключевой момент использования подписанного URL-адреса в приложениях — SAS представляет собой безопасный способ предоставления общего доступа к ресурсам хранилища без ущерба для ключей учетной записи.
В Microsoft Genomics следует отправлять подписанный URL-адрес уровня службы, который предоставляет доступ только к большому двоичному объекту или контейнеру, где хранятся входные и выходные файлы.
Универсальный код ресурса (URI) для токена SAS на уровне службы состоит из URI ресурса, к которому SAS будет предоставлять доступ, и следующего за ним токена SAS. Токен SAS представляет собой строку запроса, которая содержит всю информацию, необходимую для аутентификации SAS, а также сведения о ресурсе, разрешениях для доступа, интервал времени, в течение которого URL-адрес действителен, поддерживаемый IP-адрес или диапазон адресов, с которых могут поступать запросы, поддерживаемый протокол, с помощью которого может быть выполнен запрос, необязательный идентификатор политики доступа, связанный с запросом, и сам подписанный URL-адрес.
Необходимые свойства SAS для отправки рабочего процесса в службу Microsoft Genomics
Для каждого рабочего процесса, который отправляется в службу Microsoft Genomics, требуется два или более токенов SAS, по одному для каждого входного файла и один для выходного контейнера.
SAS для входных файлов должен иметь следующие свойства:
- Область (учетная запись, контейнер, большой двоичный объект): большой двоичный объект.
- Окончание срока действия: через 48 часов.
- Разрешения: чтение.
SAS для выходного контейнера должен иметь следующие свойства:
- Область (учетная запись, контейнер, большой двоичный объект): контейнер.
- Окончание срока действия: через 48 часов.
- Разрешения: чтение, запись, удаление.
Создание SAS для входных файлов и выходного контейнера
Существует два способа создания токена SAS: с использованием Обозревателя службы хранилища Azure или программным способом. При написании кода можно самостоятельно создать SAS. Можно также использовать пакет SDK службы хранилища Azure на предпочитаемом языке.
Настройка. Создание SAS с помощью Обозревателя службы хранилища Azure
Обозреватель службы хранилища Azure — это инструмент для управления ресурсами, сохраненными в службе хранилища Azure. Дополнительные сведения об Обозревателе службы хранилища Azure см. здесь.
SAS для входных файлов должен быть привязан к конкретному входному файлу (большому двоичному объекту). Чтобы создать токен SAS, следуйте этим инструкциям. После создания SAS на экране отобразятся полный URL-адрес со строкой запроса, а также сама строка запроса. Их можно скопировать.
Настройка. Создание SAS программным способом
Чтобы создать SAS с помощью SDK службы хранилища Azure, обратитесь к документации, доступной для нескольких языков, включая .NET, Python и Node.js.
Создание подписанного URL-адреса возможно без использования пакета SDK. Строку запроса SAS можно написать, включив все данные, необходимые для проверки подлинности SAS. В этих инструкциях подробно описаны компоненты строки запроса SAS и ее создание. Необходимый SAS создается путем создания HMAC с использованием информации для проверки подлинности большого двоичного объекта или контейнера, как описано в этих инструкциях.
Добавление SAS в файл config.txt
Чтобы запустить рабочий процесс через службу Microsoft Genomics, используя строку запроса SAS, удалите из файла config.txt ключи. Затем добавьте строку запроса SAS (которая начинается с ?
Отправьте рабочий процесс через клиент Python Microsoft Genomics с помощью следующей команды, добавив соответствующую строку запроса SAS к каждому из имен входных больших двоичных объектов.
msgen submit -f [full path to your config file] -b1 [name of your first paired end read file, SAS query string appended] -b2 [name of your second paired end read file, SAS query string appended]
В случае добавления имен входных файлов в файл config.txt
Можно также напрямую добавить в файл config.txt имена пар целевых файлов чтения, добавив токены запросов SAS, как показано ниже.
В этом случае используйте клиент Python Microsoft Genomics для отправки вашего рабочего процесса с помощью следующей команды, опустив команды -b1
и -b2
.
msgen submit -f [full path to your config file]
Дальнейшие действия
В этой статье использовались токены SAS вместо ключей учетной записи для отправки рабочего процесса в службу Microsoft Genomics через клиент Python msgen
. Дополнительные сведения об отправке рабочего процесса и других командах, которые можно использовать в службе Microsoft Genomics, см. в разделе часто задаваемых вопросов.
Ubuntu Manpage: urls.txt — база данных URL для регрессионного тестирования
Предоставлено: siege_3.0.8-1_amd64ИМЯ
urls.txt — база данных URL для регрессионного тестирования
Файл urls.txt по умолчанию устанавливается в /etc/siege/urls.txt. Когда вызывается осада без ссылки командной строки на URL-адрес, то по умолчанию он ищет URL-адреса в этом файле. Преимущество использования файла urls.txt состоит из двух частей: во-первых, вы освобождаете вас от повторного ввода URL при каждом вызове. Во-вторых, это позволяет провести полную регрессию сайта. тестирование. Когда используется файл urls.txt, siege считывает все URL-адреса в этом файле в память и запускается через список одним из двух способов, последовательно или случайным образом. Запуск по умолчанию последовательно от начала до конца и обратно до тех пор, пока параметр --reps или --time не будет был удовлетворен. Если выбрана опция -i/--internet, осада проходит через файл случайным образом имитируя стресс, применяемый сообществом пользователей Интернета. Параметр -f/--file позволяет вам выбрать файл, отличный от файла urls.txt по умолчанию. Ты также может указать Siege использовать другой файл с директивой «file» в .siegerc, т. е. «файл = /usr/local/etc/urls.txt» Вы можете устанавливать и ссылаться на переменные внутри файла urls.txt. Все переменные должны быть объявляются ДО того, как на них ссылаются. Переменные объявляются с помощью оператора "=", ПЕРЕМЕННАЯ = ЗНАЧЕНИЕ. Затем на них ссылаются внутри $() или ${}, например: $(HOST), ${HOST} ХОСТ=joey.joedog.org http://${HOST}/browse.jsp?size=5 http://${HOST}/admin.jsp?name=ralphПРИМЕР ФАЙЛ
Это пример файла urls. txt. Строки, начинающиеся с решётки (#), являются комментариями и игнорируются. осадой. # # Пример файла urls.txt # база данных URL для осады # http://www.хаха.com/index.html http://www.haha.com/howto/index.html http://www.haha.com/cgi-bin/howto/display.cgi?1013 www.haha.com/cgi-bin/fm.cgi?first=j.&last=fulmer https://www.haha.com/index.shtml https://www.whoohoo.com/my_whoohoo.jsp # Данные POST требуют директивы POST www.haha.com/cgi-bin/foo.cgi POST first=bart&last=simpson www.haha.com/hoho.jsp POST name=jeff&pass=secret # POST содержимое файла с помощью # символ ввода строки "<" http://www.haha.com/my.jsp ОТПРАВИТЬ АВТОРДжеффри ФулмерОШИБКИи др. Сообщайте об ошибках по адресу [email protected]. Дайте подробное описание проблемы и сообщите версия осады, которую вы используете.АВТОРСКОЕ ПРАВОCopyright © 2007 Джеффри Фулмер и др. Эта программа является бесплатным программным обеспечением; вы можете распространять его и/или изменять в соответствии с условиями Стандартная общественная лицензия GNU, опубликованная Free Software Foundation; или версии 2 Лицензии или (по вашему выбору) любой более поздней версии. Эта программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Дополнительные сведения см. в Стандартной общественной лицензии GNU. Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой; если нет, напишите в Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139., США.НАЛИЧИЕСамая последняя выпущенная версия siege доступна по анонимному FTP с ftp. joedog.org в каталоге pub/siege.СМ. ТАКЖЕосада(1) siege.config(1) закладкаосада(7)Windows 10. Текстовый файл не поддерживает гиперссылку для перехода на определенную страницу, например PDF?
спросил
Изменено 2 года, 2 месяца назад
Просмотрено 934 раза
Я хочу создать оглавление в txt-файле, каждая строка которого содержит гиперссылку для перехода прямо к нужному содержимому для облегчения навигации, например закладку pdf
Возможен ли этот вариант для txt-файла в текстовом режиме?
- окна-10
- блокнот++
- текстовые редакторы
- редактирование текста
- гиперссылка
Как уже упоминалось, NO . Он не работает с обычными текстовыми файлами.
Вы можете сделать это с текстовыми файлами, используя синтаксис Markdown. Вам понадобятся заголовки, встроенный синтаксис ссылок и MarkdownViewer в качестве подключаемого модуля к Notepad++.
# Содержание [внутренняя ссылка](#Visual-Studio) [Главная](https://www.help-info.de/) [Полезна ли справка?](https://www.help-info.de/files/ebook_is-the-help-helpful.pdf)
Эта часть не по вашему вопросу:
Но она может быть вам интересна. Игнорируйте , если не хотите создавать электронные книги. Обратите внимание, что использование Markdown — это единственный способ. Но у него есть кривая обучения.
Pandoc может создавать выходные данные из текстовых файлов Markdown (.md) в формате электронной книги EPUB. Книги в формате EPUB можно просматривать на iPad и других устройствах для чтения электронных книг, в том числе на многих смартфонах. используя PowerShell, команда выглядит так:
PS D:\_working> pandoc ebook.