【发布时间】:2014-01-10 16:49:55
【问题描述】:
我在使用 Visual Studio 2013 和我们的公司代理时遇到问题(登录不起作用、更新不起作用、visual studio 库不起作用、nuget 和 git 失败)。所有这些都在做 http 或 https 请求。 (例如http://visualstudiogallery.msdn.microsoft.com/)。在 VS2013 中,我只会看到旋转的进度条或关于没有网络连接的消息。
浏览器(chrome、IE、firefox)没有问题,因为它们都理解代理(407 拒绝,然后用凭据响应)。
所以我想弄清楚为什么VS2013不起作用。但是当我告诉 fiddler2 观察 DEVENV.EXE 进程(或所有进程)时,我看不到任何流量。
顺便说一句,我已经尝试对 web.config (devenv.exe.config) 文件进行一些更改,以确保它进入代理(我在堆栈生成器中看到了这个),但它对我不起作用。请参阅以下部分的补充内容:
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy proxyaddress="http://gw6.OURSITE.com:3128" />
</defaultProxy>
<settings>
<ipv6 enabled="true"/>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
更新
Eric,我采纳了您的建议,并将其放入 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe.config 文件中。
我输入的是:
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
</defaultProxy>
</system.net>
我发现 VS2013 没有发送用户代理字符串。它确实知道 #407 naks 并使用凭据进行回复,但网关仍然需要用户代理:
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Proxy-Connection: close
Connection: close
Content-Length: 1341
<html>
<head>
<title>Access Policy Denied: No User-Agent Specified</title>
<meta name="description" content="Web Access Policy">
</head>
<body>
【问题讨论】:
-
但我的问题不在于使用 Visual Studio 作为 VS2014 的(DEBUG 等)运行的程序。我在我的帐户下运行 VS2014(不是由 VS 启动的工作)。问题出在 VisualStudio 本身(它需要执行 GIT、NUGET、登录等)都去微软网站。但是这里看不到哪些被屏蔽了。
-
听起来很有道理。我查看了 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config 并发现
部分和 尚不存在。但是我上面确实提到的是,更改 VS2013 本身的 web.config (devenv.exe.config) 应该迫使 VS 去提琴手。我很惊讶它没有。我将测试两者并报告(但我要去度假,所以可能需要等待)。 -
您能否将您的答案写成单独的帖子,以便我为它加注星标并感谢您解决此问题?
标签: visual-studio proxy wcf-security fiddler ntlm