我用HttpWebRequest的post方法时,出现这样的错误信息:"远程服务器返回错误: (401) 未经授权",经过上网查找了些资料.发现需要加上以下两句代码:
Request.PreAuthenticate = true; 
NetworkCredential networkCredential = new NetworkCredential(UserName, Password); 我按以上所修改,弄了一下午还是不行..以下是我的代码,麻烦高手帮忙看看,我到底是那里写错了~public string GetPostData(string url, string urlHead, string inputData,string uName,string uPwd)
{
            NetworkCredential credential;
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.PreAuthenticate = true;
                credential = new NetworkCredential(uName, uPwd);
                request.Credentials = credential;
                request.KeepAlive = true;
                request.AllowAutoRedirect = true;  //允许重定向
                request.ContentType = "application/x-www-form-urlencoded";
                request.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.5");
                request.Headers.Add("Accept-Encoding", "gzip, deflate");
                request.Referer = urlHead;                byte[] bytes = Encoding.GetEncoding(name).GetBytes(inputData);
                request.ContentLength = bytes.Length;
                Stream requestStream = request.GetRequestStream();
            }
}

解决方案 »

  1.   

    这个NetworkCredential 好像不好处理吧,可能还和cookie有关的。
      

  2.   

    COOKIE方面应该没问题,类一直都在用...一直都是没有问题的,就是遇到了一个奇怪的网站(JAVA的),用GET方法的时候并不出现这情况,就是用POST登陆的时候就出现错误信息了~
      

  3.   

    这可能和目标网站的设置有关,用post需要Credential,但是你并没有这个Credential,所以你的问题可能无法解决……
      

  4.   

    回复:FoxDave
    IE能正常登陆,用HttpWebRequest怎么可能不行呢?
      

  5.   

    request.Credentials = CredentialCache.DefaultCredentials;
    加上这句试试吧!
      

  6.   

    To jah_online
    hi,那你再试试加个域名参数以后是否可用。
      

  7.   

    回复:FoxDave,lmtz你们所说的我都试过了...