软件远程服务器返回错误,科学网—解决:C# HttpWebResponse 远程服务器返回错误(405) 不允许的方 - 陈兴峰的博文...

1、问题

如题,从国外某卫星中心的http数据服务器循环下载批量遥感数据,下载到中间就会报错。

蒙了。

难道是我为了支持断点,进行提前判断,连接服务器次数太多了,被主动断开?

2、发现问题所在

尝试诸多办法后,问题仍然存在。

今晨,断点看了一下问题,还是找不到原因,于是闲地蛋疼:

手动拷贝出错的网络地址,在浏览器打开,看看待下载文件的属性,路径没问题。

看看其它文件的路径是否与该文件相同,是相同的。

黔驴技穷后的冷静带来的是更加严重的百无聊赖,对着这些文件挨个点鼠标玩。

问题出现了,服务器上该文件只有文件名,几百兆的文件实质上是不存在的,点击下载根本没响应,而其他文件点击后都弹出了下载保存的对话框。

3、反思

国家级卫星中心的数据服务器,以前下载数据从未遇到问题。

可能潜意识认为,这种比较牛的地方,大抵是做了质检的,数据生产和发布是有检测和反馈的,也即,所有发布出来的数据都是可以正常下载使用的。

所以程序出错都应该是coder的问题。

实际上不是这样,人无完人,或者即使有了质检系统也不敢说就不会出异常。

所以,最终还是因为自己没有严格遵守编程规矩。

4、解决

操作系统遇到错误是可以返回信息的,例如题目中的字样。

再看自己的代码,用了try执行下载,finally关闭链接,确实唯独缺了出错的处理。

所以,只加了两句话,解决了:

catch (Exception e2)

{ return; }

不能下也就不下,放开它也是放开了自己。

转载本文请联系原作者获取授权,同时请注明本文来自陈兴峰科学网博客。

链接地址:http://blog.sciencenet.cn/blog-474887-986065.html

上一篇:windows下使用linux命令Get that Linux feeling on windows

下一篇:C# Parallel.For使用的注意事项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值