相关疑难解决方法(0)

调用Web服务时出现HTTP 407代理身份验证错误

我正在开发一个通过互联网调用第三方Web服务的.NET应用程序.服务不使用SOAP,因此我们手动构造XML请求文档,通过HTTP将其发送到服务,并检索XML响应.

我们的代码是在正常Windows域帐户的上下文中运行的Windows服务,并且位于配置为需要NTLM身份验证的代理服务器(Microsoft ISA Server)后面.运行我们服务的帐户有权通过代理服务器访问互联网.

代码如下所示:

// Create the request object.
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Method = "POST";

// Configure for authenticating proxy server requiring Windows domain credentials.
request.Proxy = New WebProxy(proxyAddress) { UseDefaultCredentials = true };

// Set other required headers.
request.Accept = acceptableMimeType;
request.Headers.Add(HttpRequestHeader.AcceptCharset, acceptableCharset);
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "none");
request.Headers.Add(HttpRequestHeader.AcceptLanguage, "en-gb");
request.Headers.Add(HttpRequestHeader.CacheControl, "no-store");
request.Headers.Add(HttpRequestHeader.ContentEncoding, "none");
request.Headers.Add(HttpRequestHeader.ContentLanguage, "en-gb");
request.ContentType = requestMimeType;
request.ContentLength = requestBytes.Length;

// Make the method call.
using(Stream stream = request.GetRequestStream()) {
    stream.Write(requestBytes, 0, requestBytes.Length);
}
HttpWebResponse response = …
Run Code Online (Sandbox Code Playgroud)

.net c# authentication proxy windows-services

10
推荐指数
2
解决办法
4万
查看次数

标签 统计

.net ×1

authentication ×1

c# ×1

proxy ×1

windows-services ×1