Загрузка файла в оболочке Linux с интерактивного http-сайта с помощью curl wget

Вы также можете сделать это с помощьюgrep -E

in="192.168.15.73.64759"

echo $in | grep -Eo "([[:digit:]]{1,3}\.){4}" | grep -Po "(.*)(?=\.$)

~#: 192.168.15.73

-E позволяет использовать расширенные регулярные выражения, а -P для совместимости с Perl позволяет включать последнюю точку в шаблон, но исключать ее из вывода

0
16.07.2020, 22:04
1 ответ

Я смог сделать это следующим образом. Это относится к моему случаю и может быть разным для каждого сценария.

Первый запрос токена авторизации:

uri_token="https://xxx.yy/TokenURI"
body="grant_type=password&username=user1&password=password1"  
curl -s -X POST -d $body -H "Content-Type: Text" $uri_token

Затем я получил список идентификаторов ФАЙЛОВ, используя токен, полученный в заголовке:

uri_get_list="https://xxx.yy/FileSearchParameter
headers="Authorization: Bearer $token"
curl -s -X GET -H "$headers" $uri_get_list

Затем запросил идентификатор задания, используя идентификатор ФАЙЛА для загрузки файлов :

.
uri_request=https://xxx.yy/requestapi
body=$(echo \"$FILE_ID\")
headers="Authorization: Bearer $token"
JobID=$(curl -s $uri_request -X POST -H "$headers" -H "Content-Type: application/json" -d [$body]

Затем загрузил файл, используя идентификатор задания, полученный на предыдущем шаге.

uri_download="https://xxx.yy/jobid/"$JobID"
headers="Authorization: Bearer $token"
curl $uri_download -X GET -H "$headers" -o /file/path/to/downloaded
0
18.03.2021, 23:19

Теги

Похожие вопросы