下面的我登陆另一服务器站点的方法。
(1)如果输入用户密码登陆没有问题,可以跳转到另一个服务的站点。
(2)如果不输入用户密码(代码中间注释掉了传输用户密码的两行代码了,因为windows身份认证我是没法知道密码的),后面StatusCode已是"OK"了,但是后面不能重跳转到另一个服务器的站点。
public void RouterSet(string userName, string password, string url)
{
try
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "get";
request.ContentType = "application/x-www-form-urlencoded";
request.UseDefaultCredentials = true;
request.Credentials = CredentialCache.DefaultCredentials;
request.PreAuthenticate = true;
//获得用户名密码的Base64编码
//string code = Convert.ToBase64String(Encoding.ASCII.GetBytes(string.Format("{0}:{1}", userName, password)));
//添加Authorization到HTTP头
//request.Headers.Add("Authorization", "Basic " + code);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Response.Write(response.StatusCode); //OK
response.Close();
Response.Redirect(url); //不能跳转,报401错误
}
catch (Exception ex)
{
Response.Write("路由器设置错误:" + ex.Message);
}
}