我想从第三方索取报告,他们需要“基本访问认证”通过POST:
Your client application must use Basic Access Authentication to send the user name and password.
有人能指出我朝着正确的方向吗?
编辑:我确实看到了这个帖子 ,但有两个答案,我不知道如果多数民众赞成什么,我需要做什么或哪一个是首选的方法。
我想从第三方索取报告,他们需要“基本访问认证”通过POST:
Your client application must use Basic Access Authentication to send the user name and password.
有人能指出我朝着正确的方向吗?
编辑:我确实看到了这个帖子 ,但有两个答案,我不知道如果多数民众赞成什么,我需要做什么或哪一个是首选的方法。
假设你使用的WebRequest,您可以将CredentialCache您的要求:
NetworkCredential nc = new NetworkCredential("user", "password");
CredentialCache cc = new CredentialCache();
cc.Add("www.site.com", 443, "Basic", nc);
WebRequest request = WebRequest.Create("https://www.site.com");
request.Credentials = cc;
request.PreAuthenticate = true;
request.Method = "POST";
// fill in other request properties here, like content
WebResponse respose = request.GetResponse();
其基本要点是这样的:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = WebRequestMethods.Http.Get;
request.Credentials = new NetworkCredential(username, password);
但有时也有使用要求凭证的问题,另一种方法是在请求的头部添加验证数据
string authInfo = username + ":" + password;
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
request.Headers["Authorization"] = "Basic " + authInfo;
详细内容见本博客文章
http://charlie.cu.cc/2012/05/how-use-basic-http-authentication-c-web-request/