程序请求网站时?报“基础连接已经关闭: 发送时发生错误。 ---> System.IO.IOException: 由于远程方已关闭传输流,身份验证失败。”求解

丐帮小虾 2012-04-17 08:55:03
string url = "https://data.cathaylife.cn/servlet/HttpDispatcher/KAA0_0100/prompt?newTxRequest=true&syscode=DA&subcode=KAA0";

HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(login_url);

myRequest.Method = "GET";

HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();


最后一句执行过了报:“基础连接已经关闭: 发送时发生错误。 ---> System.IO.IOException: 由于远程方已关闭传输流,身份验证失败。”,浏

览器是可以访问并能看到源码的。但是程序就不行。求解。各位大虾,帮忙一下。
...全文
718 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2012-04-17
  • 打赏
  • 举报
回复
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
是个关键
孟子E章 2012-04-17
  • 打赏
  • 举报
回复
这样即可
string url = "https://data.cathaylife.cn/servlet/HttpDispatcher/KAA0_0100/prompt?newTxRequest=true&syscode=DA&subcode=KAA0";    
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Method = "GET";
myRequest.Proxy = null;
myRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0";
myRequest.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.8,zh-hk;q=0.6,ja;q=0.4,zh;q=0.2");
myRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
MessageBox.Show(new System.IO.StreamReader(myResponse.GetResponseStream(),Encoding.GetEncoding("GB2312")).ReadToEnd());
丐帮小虾 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

string url = "https://data.cathaylife.cn/servlet/HttpDispatcher/KAA0_0100/prompt?newTxRequest=true&syscode=DA&subcode=KAA0";

HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Cre……
[/Quote]

还是不行,还是报那个错。你测试过了吗?首先谢谢你的回答。
孟子E章 2012-04-17
  • 打赏
  • 举报
回复
string url = "https://data.cathaylife.cn/servlet/HttpDispatcher/KAA0_0100/prompt?newTxRequest=true&syscode=DA&subcode=KAA0";

HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(login_url);

myRequest.Method = "GET";
myRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13";
myRequest.Headers.Add("Accept-Language","zh-cn,en-us;q=0.8,zh-hk;q=0.6,ja;q=0.4,zh;q=0.2");
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();

加上上面2行
丐帮小虾 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
是个关键
[/Quote]
牛人 ,,,散分。厉害。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧