问题标签 [http-status-code-407]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
28337 浏览

c# - 需要 407 身份验证 - 未发送质询

更新:
如果您刚刚遇到这个问题,一般的要点是我正在尝试通过代理创建一个 HttpWebRequest,并且我从我们奇怪的代理服务器获得了 407。IE、Firefox、Chrome 都成功地协商代理,Adobe Air 应用程序也是如此。谷歌浏览器网络安装程序实际上失败可能很重要,我们必须使用离线安装程序。

多亏了 Ian 的链接,我才得以进入下一阶段。它现在正在向代理发送一个令牌,但是第三阶段没有通过,所以带有用户名/密码哈希的请求没有被 .NET 发送,因此没有返回 HTML。

我在用:

  • IE6 用户代理
  • Windows 7的
  • Scansafe 代理
  • .NET 3.5

这是等同于以下日志的最新代码:

例外

WebException (407) 需要身份验证。

正在使用的代理

代理客户端是我们服务器机房中的Scansafe硬件设备,它(一旦通过 NTLM 验证)然后将您的 HTTP 流量定向到其服务器以过滤流量。

System.Net 跟踪输出

IE 成功协商代理

解决方案

我还没有真正找到解决方案,但感谢 Feroze 和 Eric,我找到了一种解决方法,并发现实际的代理(而不是它的配置)是主要问题。这可能是 3 个变量的一个模糊问题:.NET HttpWebRequest 的实现、Windows 7,当然还有我们机架中的 Scansafe 硬件客户端;但如果没有 MSDN 支持请求,我将不会发现。

0 投票
7 回答
197109 浏览

c# - 远程服务器返回错误:(407) 需要代理身份验证

调用 Web 服务时出现此错误:

“远程服务器返回错误:(407) 需要代理身份验证”。

我得到了一般的想法,我可以通过添加来让代码工作

或通过在代码中使用 DefaultCredentials。我的问题是,如果没有这个,对 web 服务的调用在生产中工作。

似乎有一个涉及 Machine.config 的非代码解决方案,但它是什么?目前我无法访问生产框的 machine.config 文件来查看它的外观。我尝试按如下方式更新我的 machine.config,但仍然出现 407 错误。

0 投票
2 回答
2001 浏览

c# - 在 HTTP 407 错误上未调用 C# webservice 异步回调

我正在尝试测试具有带有登录凭据的代理的客户的用例,尝试从我们的客户使用我们的网络服务。

如果请求是同步的,我的工作很简单。捕获 WebException,检查 407 代码,并提示用户输入登录凭据。

但是,对于异步请求,我似乎遇到了一个问题:回调永远不会被调用!我运行了一个 wireshark 跟踪,确实看到 HTTP 407 错误正在被传回,所以我不知道该怎么做。

这是设置回调并启动请求的代码:

我使用 WSDL 时生成的代码:

调试 WS 代码,我发现即使是 SoapHttpClientProtocol.InvokeAsync 方法也没有调用它的回调。我是否缺少某种配置?

0 投票
6 回答
49025 浏览

proxy - 配置 Fiddler 以使用公司网络的代理?

我正试图让 Fiddler 与我公司的代理合作。每个外部请求都返回 407。

到目前为止,我已经尝试添加 oSession.oRequest["Proxy-Authorization"] = "YOURCREDENTIALS"; 到我在 base64 中使用我的 USERNAME:PASSWORD 的自定义规则。仍然没有运气。

有任何想法吗?谢谢。

0 投票
1 回答
2761 浏览

java - 407 无法通过代理隧道

我们有一个调用第三方 Web 服务的 Web 服务。为了测试这个实现,我们有不同的环境。

  • 本地开发者机器:当我们运行应用程序时,一切正常,我们的 web 服务能够访问第三方 URL。(本地机器使用 Windows 操作系统)

  • 本地开发服务器:在开发服务器上部署应用程序后,我们无法访问第三方 URL,并出现 Http Proxy 407 错误。(我们使用的是 Linux,带有 IBM J9 JVM。)

为了解决这个问题,我们尝试-Dhttps.proxyUser XXX -Dhttps.proxyPassword XXX了设置,但我们仍然收到错误。我们尝试的第二个选项是使用Authenticator.setDefault(new CustomImplAuthenticator()). 但令人惊讶的是,JVM没有调用getPasswordAuthentication并继续抛出错误。

我们使用代码在本地开发人员机器上再次运行相同的应用程序authenticator.setdefault。如前所述,我们可以访问 URL,但这一次 JVM 没有调用getPasswordAuthentication方法。在网上搜索后,我们发现通过 NTLM 解决了身份验证数据,因此我们觉得代码在 windows 上运行。

谁能让我知道哪些设置,我们应该在 Linux 机器中部署的应用程序上进行配置,以便至少Authenticator.setDefault调用分配给的实现。

0 投票
1 回答
287 浏览

javascript - Flex 3/JS - 打开 sqeezebox 时出现 407 错误

我需要使用squeezebox(结合mootools 1.2.4)打开一个链接。
因此,我创建了一个 test.js(其中包含一个打开挤压框的函数)、一个 Test.mxml 应用程序(包含一个调用 js 函数的按钮),并在 html 页面中添加了所有脚本。

测试.js:

测试.mxml:

启动应用程序并单击按钮时,我确实得到了警报窗口。但是,squeezebox 没有打开。我收到 407 错误:需要代理身份验证。
我确实在工作场所的代理后面,但是该应用程序是在已经过身份验证的浏览器窗口中启动的...

我现在真的不知道该怎么做才能让它工作>_<所以如果有人能启发我,我将不胜感激=)

非常感谢您的宝贵时间;)
问候,
BS_C3

0 投票
2 回答
10292 浏览

powershell - 如何通过具有凭据的代理服务器运行 Azure Powershell cmdlet?

当我运行以下 Powershell cmdlet(来自 Azure 管理工具管理单元)时:

我收到以下错误消息:

Get-OSVersions :远程服务器返回意外响应:(407) 需要代理身份验证。在 line:1 char:15 + get-osversions <<<< -subscriptionId *-certificate (get-item cert:\CurrentUser\MY* ****) + CategoryInfo : CloseError: (:) [Get-OSVersions], ProtocolException + FullyQualifiedErrorId : Microsoft.Samples.AzureManagementTools.PowerShell.HostedS ervices.GetOSVersionsCommand

Get-OSVersions :对象引用未设置为对象的实例。在 line:1 char:15 + get-osversions <<<< -subscriptionId * -certificate (get-item cert:\CurrentUser\MY** * ) + CategoryInfo : CloseError: (:) [Get-OSVersions], NullReferenceException + fullyQualifiedErrorId:Microsoft.Samples.AzureManagementTools.PowerShell.HostedS ervices.GetOSVersionsCommand

似乎这里的互联网代理服务器拒绝了脚本所需的访问权限。

我在 Internet 上浏览了一下,似乎没有简单的方法可以解决这个问题,因为这个 cmdlet 没有有效的“-credentials”或代理服务器参数。

我知道有一个“获取凭据”cmdlet,但我认为它没有帮助。如何将凭据传递给 Azure cmdlet?

谁能想到解决这个问题的任何方法?...

...除了使用不同的非代理互联网连接?

我难住了。

非常感谢您的时间。

0 投票
5 回答
46043 浏览

wcf - WCF 客户端 - 运行 Web 服务时需要 407 代理身份验证

我创建了使用免费网络服务的简单 WinForms 应用程序http://www.webservicemart.com/uszip.asmx。但是此应用程序无法使用服务操作并出现错误:

远程服务器返回了意外响应:(407) 需要代理身份验证(ISA 服务器需要授权才能完成请求。拒绝访问 Web 代理服务)

创建代理并触发服务操作的代码:

这是我公司网络的问题,还是webservicemart.com的代理?

我在谷歌上搜索了很多关于更改配置文件、创建自定义绑定等的信息。但我觉得缺乏更基本的理解......
如果这个错误是关于我们公司网络的 ISA 服务器的,那么我应该进行什么配置ISA Server 不限制我使用外部 Web 服务?

0 投票
1 回答
2979 浏览

c# - 测试代理以查看它是否需要身份验证

我有一个代理列表,我想循环并测试以确保它们正常工作,并测试以确保它们不需要用户名和密码。

但是,该测试似乎无法正常工作。例如,我有一个代理,我知道它需要用户名和密码才能使用,但它以某种方式通过了测试。

这是我拥有的示例代码:

例如,以下代理需要身份验证:“66.60.148.11:3128”。但是,当我运行代码时,webRes.StatusCode 恢复正常并通过 webRes.StatusCode != HttpStatusCode.ProxyAuthenticationRequired 测试。

任何想法或建议表示赞赏。

谢谢!

0 投票
7 回答
131764 浏览

c# - C# 中的代理基本身份验证:HTTP 407 错误

我正在使用需要身份验证的代理,即在浏览器中,如果我尝试打开一个页面,它将立即要求提供凭据。我在我的程序中提供了相同的凭据,但它因 HTTP 407 错误而失败。

这是我的代码:

我已经尝试了所有可能的事情,但似乎我错过了一些东西。是不是像,我必须提出两个请求?首先没有凭据,一旦我从服务器收到关于需要凭据的回复,是否使用凭据发出相同的请求?