从 NuGetV3 API 获取包

2024-01-01

我有兴趣使用非 .NET 语言为 NuGet v3 API 编写客户端库。

获取包裹需要哪些请求,响应是什么样的?

i.e.

获取{包版本} 获取{包版本}

您还可以链接到涵盖此场景的官方文档吗?


Here https://learn.microsoft.com/en-us/nuget/api/overview是官方 NuGet V3 API 文档。 API由多种协议组成,包括:

  1. The 包基址 https://learn.microsoft.com/en-us/nuget/api/package-base-address-resource- 包含实际包及其清单文件(nuspec).
  2. The 服务指标 https://learn.microsoft.com/en-us/nuget/api/service-index- 客户端用来发现 NuGet 服务
  3. The 搜寻服务 https://learn.microsoft.com/en-us/nuget/api/search-query-service-resource- 客户端用来搜索 NuGet 包
  4. The 登记 https://learn.microsoft.com/en-us/nuget/api/registration-base-url-resource- 基于 json-LD 的结构,用于存储包的元数据。这包括包的内容、依赖项、描述等......

例如,假设您想下载软件包“Newtonsoft.dll”。 杰森”:

  1. 获取服务索引:`GEThttps://api.nuget.org/v3/index.json https://api.nuget.org/v3/index.json

响应包含 PackageBaseAddress 的地址(也称为扁平容器,因为它是分层的而不是扁平的:)):

{
  "@id": "https://api.nuget.org/v3-flatcontainer/",
  "@type": "PackageBaseAddress/3.0.0",
  "comment": "Base URL of Azure storage where NuGet package registration info for DNX is stored, in the format https://api.nuget.org/v3-flatcontainer/{id-lower}/{version-lower}.{version-lower}.nupkg"
},
  1. 使用@id提供的uri作为基本uri来列出所需包的版本:GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/index.json,请注意,此 uri 可能会更改,并且不是 API 的一部分
  2. 使用相同的基本 uri 下载包:GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/6.0.4/newtonsoft.json.6.0.4.nupkg

您可能还想查看NuGet客户端 https://learn.microsoft.com/en-us/nuget/reference/nuget-client-sdk。客户端的源代码是here https://github.com/nuget/nuget.client;你会想从NuGet.CommandLine 项目 https://github.com/NuGet/NuGet.Client/tree/dev/src/NuGet.Clients/NuGet.CommandLine然后沿着堆栈往下走。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 NuGetV3 API 获取包 的相关文章

随机推荐

  • 404 请求没有尾部斜线到 i18n url

    因为APPEND SLASH True设置所有带有 whatever path 的请求将被重定向到 whatever path 但在 a 中定义的 urli18n patterns 由于某种原因不重定向 即使测试也有效 runtests p
  • Java:使 jcombobox 的一项不可选择(如子标题)并编辑该项目的字体

    如何在组合框中创建一项不可选择的因为我需要用子主题分隔组合框中的项目 是否可以单独修改该特定项目的字体 jComboBox btech course setFont new java awt Font Tahoma 0 14 jComboB
  • 根据索引列合并两个数据框

    我有两个数据帧 我想根据匹配的行将它们合并为一个数据帧 我的数据框看起来像这样 DF 1 Set 1 Fax 1 Fax 2 Abc 1 45 76 Abc 2 46 77 Abc 3 47 78 Abc 4 48 79 Abc 5 49
  • php 守护进程可能存在内存泄漏

    我已经用 php 编写了一个守护进程 并希望确保它不会泄漏内存 因为它将 24 7 运行 即使以最简单的形式 守护进程的 memory get peak usage 也会报告脚本在每个周期消耗更多内存 另一方面 memory get usa
  • .NET Core2.0 bundleconfig.json 不工作

    我正在努力尝试让捆绑在 Core 2 0 Web 应用程序中工作 我的中有以下内容捆绑配置 json file outputFileName wwwroot css site min css inputFiles wwwroot css s
  • Windows 上张量流安装的 Whl 文件

    我通过 get pip py 脚本安装了 pip python get pip py proxy proxy intranet com 8080 Collecting pip Downloading pip 8 1 2 py2 py3 no
  • empty() 分离是如何工作的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有这些if statements with empty 带变量的函数 a b c if empty a b c echo empty
  • 月减月

    我试图获取 date1 和 date2 之间的月数 以月为单位 结果只是 2016 12 减去 2016 5 即 7 我只知道如何以 int 形式获取天数 有人可以教我如何以 mths 形式获取结果 即 7 吗 import pandas
  • ReactJS 中的浏览器检测

    有什么方法可以使用 React 检测 IE 浏览器并重定向到页面或提供任何有用的消息 我在 JavaScript 中找到了一些东西 但不确定如何将它与 React TypeScript 一起使用 var isEdge isIE window
  • 使用 Thread.Start 与 QueueUserWorkItem 的优点

    在多线程 NET 编程中 使用 ThreadPool QueueUserWorkItem 与通过 new Thread 和 Thread Start 启动我自己的线程的决策标准是什么 在服务器应用程序 比如说 ASP NET 应用程序或 W
  • Safari 移动设备上的 填充错误?

    这类似于 也未回答 问题 3430506 https stackoverflow com questions 3430506 但适用于输入标签而不是 HTML5 元素 在 按钮上 iPhone 移动 Safari 浏览器会向左侧和右侧添加填
  • 在 Google 表格的一组数据中添加空白行

    我有一组数据 我期待的是在每组 3 个值之后添加 2 个空白行 如下所示 希望得到帮助来解决这个问题 您可以在这里找到示例谷歌表 https docs google com spreadsheets d 11nMvUWn3xcTfxlk4v
  • 如何使用 toBuffer 使用 [node]graphicsmagick 创建新图像

    我正在尝试创建一个新图像 该图像最终将通过 gridfs 插入到 mongo 数据库中 我宁愿避免向文件系统写入任何内容 所以最好的路线似乎是创建一个新图像 https github com aheckmann gm basic usage
  • HTML-CSS 覆盖层以居中元素覆盖整个页面

    I want to create a simple full screen overlay with loader and text in the center I have some problems with the text I wa
  • 在ant编译中包含JAR文件

    我想编译一些 java文件放入 JAR 中 我想在另一个应用程序中使用这个 JAR 文件 这是在第二个应用程序中使用第一个应用程序中的函数的好方法吗 我的目标是不重复代码 我怎样才能编辑build xml为第二个应用程序创建包含我创建的 J
  • 使用 pywinauto 自动化点击开始按钮

    我是 python pywinauto 的新手 我想自动执行一个简单的步骤 即单击 Windows 开始按钮打开控制面板并选择管理工具 最后想检查该复选框是否已选中 我陷入了如何单击 Windows 开始按钮的第一步 from pywina
  • jQuery datepicker 获取显示的月份和年份不是当前的

    我试图在点击日期选择器标题左侧和右侧的 下一个 和 上一个 链接后获取 显示的 月份和年份 目前我正在使用获取月份 var selectedMonth calendar datepicker getDate getMonth 1 但它只返回
  • 将多个工作簿中的数据复制并粘贴到另一个工作簿中的一个工作表

    我希望你能帮忙 我目前有一段代码 请参见下文 我希望它做的是允许用户选择包含工作簿的文件夹 然后打开每个工作簿 从每个工作簿中选择一个名为 SearchCaseResults 的工作表 将每个 SearchCaseResults 中的数据从
  • 显示从 MySQL 填充数据集的进度

    我目前正在使用 C 和 MySQL 数据库后端开发一个应用程序 我的程序最终可能会从数据库加载大量数据并添加到数据集中以在 DataGridView 中显示 我希望能够显示数据集填充的进度 但不确定如何获取它在数据库中位置的引用 下面是我目
  • 从 NuGetV3 API 获取包

    我有兴趣使用非 NET 语言为 NuGet v3 API 编写客户端库 获取包裹需要哪些请求 响应是什么样的 i e 获取 包版本 获取 包版本 您还可以链接到涵盖此场景的官方文档吗 Here https learn microsoft c