首页 新闻 会员 周边

使用HttpWebRequest 进行请求时出现不同的异常

0
悬赏园豆:50 [已解决问题] 解决于 2021-10-07 08:46

下面两段代码返回的异常为什么不一样,有大佬解释一下吗?

HttpWebRequest request = (HttpWebRequest) WebRequest.Create("https://www.alibabacloud.com");
request.Timeout = 5000;
HttpWebResponse response = (HttpWebResponse) request.GetResponse();

HttpWebRequest request2 = (HttpWebRequest) WebRequest.Create("https://www.cnblogs.com");
request2.Timeout = 1;
 HttpWebResponse response2 = (HttpWebResponse) request2.GetResponse();

异常信息为

Unhandled Exception: System.Net.WebException: The operation has timed out.
   at System.Net.HttpWebRequest.GetResponse()

第二段代码:

HttpWebRequest request = (HttpWebRequest) WebRequest.Create("https://www.alibabacloud.com");
request.Timeout = 5000;
HttpWebResponse response = (HttpWebResponse) request.GetResponse();

request = (HttpWebRequest) WebRequest.Create("https://www.cnblogs.com");
request.Timeout = 1;
response = (HttpWebResponse) request.GetResponse();

异常信息为

Unhandled Exception: System.OperationCanceledException: The operation was canceled.
   at System.Net.HttpWebRequest.GetResponse()

为什么返回的异常信息会不一样啊? 有哪些知识需要我去了解的吗?

还有一个问题就是同样的代码,windows上返回 timeout错误, linux上返回 operationcancel 错误??

BUTTERAPPLE的主页 BUTTERAPPLE | 老鸟四级 | 园豆:3190
提问于:2019-03-13 17:40
< >
分享
最佳答案
0

https://github.com/restsharp/RestSharp
第三方的库,封装的HttpWebRequest。

代码里 request2 设置的超时时间太短了,1毫秒。肯定报错。

收获园豆:30
从今天开始 | 菜鸟二级 |园豆:244 | 2019-03-14 11:09

我就是要让他报错的,只是异常不一样

BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2019-03-14 11:16

这个库可以去了解一下。谢谢啦

BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2019-03-14 11:18

@BUTTERAPPLE: 可以翻翻源码看,不太知道它底层的原理..

从今天开始 | 园豆:244 (菜鸟二级) | 2019-03-14 11:43

@从今天开始: 底层也是用httpwebrequest 发请求的。

BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2019-03-14 12:16

@BUTTERAPPLE: 不是,我说可以翻HttpWebRequest源码看看 为什么异常不一样。

从今天开始 | 园豆:244 (菜鸟二级) | 2019-03-14 13:36

@从今天开始: 目前一个猜测是 keep-alive 的问题,还善待验证

BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2019-03-14 13:47
其他回答(1)
0

HttpWebRequest 无边,回 HttpClient 是岸

收获园豆:20
dudu | 园豆:31003 (高人七级) | 2019-03-13 19:15

用HttpWebRequest用的我真是心态要炸了。

支持(0) 反对(0) BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2019-03-13 19:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册