如何查看Nuget Feed的URL?

时间:2013-06-28 14:36:43

标签: nuget

我们刚刚开始遇到Nuget的问题。我们可以得到一个包列表,但是当我们尝试安装某些包(比如jQuery)时,我们得到403(Forbidden)错误。我相信我们的代理(McAfee)会阻止某些网址。

这似乎与this question中描述的问题相同。他们使用Wireshark解决了这个问题。我不能使用Wireshark,因为(你猜对了)它在这里被阻止了。

other question提及https://nuget.org/api/v2/,但当我这样做时,我只看到大约8行XML。

所以我的问题是:如何查看Nuget Feed的网址,以便我可以请求我们的网络人员在不使用Wireshark或Fiddler的情况下取消阻止它?

1 个答案:

答案 0 :(得分:8)

https://nuget.org/nuget.exe

安装命令行nuget.exe客户端

然后运行nuget sources以查看已注册的端点。这通常会列出如下内容:

D:\>nuget sources
Registered Sources:

1.  https://nuget.org/api/v2/ [Enabled]
    https://nuget.org/api/v2/

通过此,您可以看到可能在Visual Studio或PS工具中使用的基本端点。

您还可以使用HTTP检查器(如Fiddler)捕获从nuget客户端(无论是命令行还是Visual Studio)到nuget.org端点的确切调用,从而产生如下内容:

Fiddler2 sniffing HTTPS traffic from nuget.exe to nuget.org

在“进程”列中,您可以看到源自nuget.exe的调用。要查看确切的URL,您可以配置Fiddler拦截和解密HTTPS,或者指定非HTTPS源,如此nuget list log4net -Source http://nuget.org/api/v2/,这会导致Fiddler能够看到纯HTTP响应:

Fiddler2 sniffing HTTP traffic from nuget.exe to nuget.org

在这种情况下,nuget.exe的一个调用是:

GET http://www.nuget.org/api/v2/Search()?$filter=IsLatestVersion&$orderby=Id&$skip=0&$top=30&searchTerm='log4net'&targetFramework=''&includePrerelease=false HTTP/1.1

nuget客户端进行多次调用甚至只检索包列表但是AFAIK,调用都是标准的HTTP GETPOST等,而不是WebDAV调用,所以应该没有理由只要nuget.org网站本身没有被阻止,为什么这些调用不适用于代理。