[英]Having trouble adding authentication to WCF service client using C#
我正在使用以下代码调用WCF服务:
string certPath = @"C:\certs\mycert.pem";
var uri = new Uri("http://Myserver/TestService.svc/MyMethod/parm1/parm2");
X509Certificate cert = X509Certificate.CreateFromCertFile(certPath);
var request = WebRequest.Create(uri) as HttpWebRequest;
request.Credentials = new NetworkCredential("user", "password");
request.PreAuthenticate = true;
request.ClientCertificates.Add(cert);
var response = request.GetResponse();
但是得到
HTTP / 1.1 400错误请求
错误和
没有代理身份验证标头
有人可以指出正确的方向吗?
我建议你试试
string urlAddress = "http://www.google.com"; string userName = "user01"; string password = "puser01"; string proxyServer = "127.0.0.1"; int proxyPort = 8081; HttpWebRequest request = (HttpWebRequest) WebRequest.Create(urlAddress); if (userName != string.Empty) { request.Proxy = new WebProxy(proxyServer, proxyPort) { UseDefaultCredentials = false, Credentials = new NetworkCredential(userName, password) }; string basicAuthBase64 = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(string.Format("{0}:{1}", userName, password))); request.Headers.Add("Proxy-Authorization", string.Format("Basic {0}", basicAuthBase64)); }
参考: 通过http发送基本身份验证
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.