我们刚刚开始遇到Nuget的问题。我们可以得到一个包列表,但是当我们尝试安装某些包(比如jQuery)时,我们得到403(Forbidden)错误。我相信我们的代理(McAfee)会阻止某些网址。
这似乎与this question中描述的问题相同。他们使用Wireshark解决了这个问题。我不能使用Wireshark,因为(你猜对了)它在这里被阻止了。
这other question提及https://nuget.org/api/v2/,但当我这样做时,我只看到大约8行XML。
所以我的问题是:如何查看Nuget Feed的网址,以便我可以请求我们的网络人员在不使用Wireshark或Fiddler的情况下取消阻止它?
答案 0 :(得分:8)
然后运行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端点的确切调用,从而产生如下内容:
在“进程”列中,您可以看到源自nuget.exe的调用。要查看确切的URL,您可以配置Fiddler拦截和解密HTTPS,或者指定非HTTPS源,如此nuget list log4net -Source http://nuget.org/api/v2/
,这会导致Fiddler能够看到纯HTTP响应:
在这种情况下,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 GET
,POST
等,而不是WebDAV调用,所以应该没有理由只要nuget.org网站本身没有被阻止,为什么这些调用不适用于代理。