请大家帮看下工行查询接口时报错,怎么解决
出错部分看中间的注释:
string sPostData = string.Format("APIName={0}&APIVersion={1}&MerReqData={2}", sAPIName, sAPIVersion, "TEST");
byte[] sData = Encoding.GetEncoding("GBK").GetBytes(sPostData);
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; //SecurityProtocolType.Ssl3;
X509Certificate myCrt = X509Certificate.CreateFromCertFile(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "\\File\\user.crt");
string strUrl = "https://corporbank.icbc.com.cn:443/servlet/ICBCINBSEBusinessServlet";
byte[] sData = Encoding.GetEncoding("GBK").GetBytes(sPostData);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUrl);
myRequest.Method = "POST";
myRequest.KeepAlive = true;
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
myRequest.ClientCertificates.Add(myCrt);
myRequest.ContentLength = sData.Length;
Stream sm = myRequest.GetRequestStream();
sm.Write(sData, 0, sData.Length);
sm.Close();
//运行下面这句出错,报错:
//System.Net.WebException: 远程服务器返回错误: (403) 已禁止。
// 在 System.Net.HttpWebRequest.GetResponse()
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
Encoding encod = System.Text.Encoding.GetEncoding("GBK");
Stream smRes = myResponse.GetResponseStream();
StreamReader sr = new StreamReader(smRes, encod);
string sResult = sr.ReadToEnd();
//System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
return sResult;