У нас нет опции массовой загрузки, но было бы довольно легко написать что-то самостоятельно.
Во-первых, вам нужно получить PAT .Убедитесь, что PAT имеет область действия «Упаковка (чтение)».Вы будете использовать PAT в качестве пароля для аутентификации.Имя пользователя, которое вы используете, не имеет значения.
Затем вам нужно получить список всех пакетов в ленте.Для этого вы можете использовать наш Get Packages API.
Затем для пакетов NuGet протокол выглядит следующим образом:
- Загрузите URL фида (сДиалог Connect to Feed, оканчивается на
.../v3/index.json
) - Прочитать возвращенный документ JSON, получить атрибут @id из объекта с @type =
PackageBaseAddress/3.0.0
.Это адрес PackageBaseAddress.Обратите внимание, что фактическое значение считается деталью реализации.Всегда извлекайте адрес из index.json. - Если у вас еще нет списка версий, загрузите
{PackageBaseAddress}/{PackageName (lowercased)}/index.json
, который будет иметь список в виде массива JSON (я предлагаю получать версии таким образом, поскольку они будутуже нормализовано) - Загрузите пакеты с
{PackageBaseAddress}/{PackageName (lowercase)}/{PackageVersion (normalized)}/{PackageName (lowercase)}.{PackageVersion (normalized)}.nupkg
- например
{PackageBaseAddress}/restsharp/106.4.1/restsharp.106.4.1.nupkg
- Обязательно следуйте перенаправлениям, так как сервис фактически отправит вас на скачивание с нашеговнутреннее хранилище
Для пакетов npm:
- Получить URL-адрес канала из диалогового окна «Подключение к каналу» (оно заканчивается на
.../npm/registry
) - Загрузка
{Feed URL}/{PackageName}
(для пакетов с областью действия указана область действия, например, {Feed URL}/@{Scope}/{PackageName}
) - URL-адреса загрузки для каждой версии перечислены в ответе JSON как версии. *. Dist.tarball
- Опять же, обязательно обращайтесь с перенаправлениями при загрузке пакетов.