html错误代码是什么意思,如何处理HttpClient()的HTML错误代码和超时

I'm using HttpClient to connect to a server (see simplified code below). I cant figure out how I would respond to HTML error codes (e.g. 403) and timeouts so I can report what the result is.

When I encounter a 403 error code an error pop-up occurs in Visual Studio. But I can figure out how I convert this into try in the code. i.e. is the name of the exception present in the error pop-up?

using System.Net.Http;

HttpClient client = new HttpClient();

var response = client.PostAsync(dutMacUrl, null).Result;

var result = response.Content.ReadAsStringAsync().Result;

Talk1:

why not using async?

Talk2:

Dont know what you mean. Can you be more specific?

Solutions1

you can use async/await feature to simplify your code and avoid using Result.

for example

public async Task Foo(string uri)

{

var client = new HttpClient();

try

{

var response = await client.PostAsync(uri, null);

}

catch (Exception ex)

{

//here you handle exceptions

}

// use this if (response.StatusCode != HttpStatusCode.OK) { do what you want }

// or this if (response.IsSuccessStatusCode) { do what you want }

var result = await response.Content.ReadAsStringAsync();

return result;

}

Talk1:

Hi thanks - I see where you are getting the status code (which I guess is related to the HTML response code i was talking about) but is there a way to deal with timeout as well?

Solutions2

If you are using webAPI another option is to use IHttpActionResult

public object IHttpActionResult mymethod()

{

//instantiate your class or object

IEnummerable myobject = new IEnmmerable(); //assuming you want to return a collection

try{

//..dostuff

//..handle dto or map result back to object

return Ok(myobject)

}

catch(Exception e)

{

//return a bad request if the action fails

return BadRequest(e.Message)

}

}

This would allow you to make a call to your api endpoint and either return a successful response with the updated object or return a bad request if the endpoint fails.

因为许多原因,开心网址已经停止开发,这个程序从一开始只是作为学习asp的练习作, 只是一时兴趣,从没有想到会得到这么多朋友的支持,许多朋友现在还在使用着这个程序。从一开始的asp到后来生成html,中间有着许许多多的漏洞,给很多朋友带来了麻烦,希望朋友们能够原谅。 程序的代一直都是杂乱无章,因为作者本身只是一个asp的外行,只是本着学习的兴趣和使用的方便,没有考虑到很多其他的问题。每次发布都是拿自己的网站代匆匆发布,有着很多杂七杂八的广告,也给很多朋友带来了不便,对此再一次对大家道歉。 从一年前在自己的电脑上第一次装linux到现在,基本上没有再碰过asp的代(php正在学习中)。很多命令已经陌生了,所以这次整理代,可能会出现很多错误,希望大家能及时反应,以便及时更改,给这个程序画一个圆满的句号。 因为贴吧,网摘都是在以前网上流传的几个程序上进行的修改,原作者已经不详,很多语句都没有仔细的看,而且模板修改也比较麻烦,所以一直都没有随程序发布,很多朋友想要,这次一并送上,可能需要修改的地方很多,请大家仔细研究。这次最后发布的版本与作者自己的网站完全相同,可能有许多多余的东西,可以根据自己的需要进行删除。 Asp代+Access数据库+fso组件,请在支持asp和fso组件的环境下运行 版权说明 开心网址FinalVersion版程序源属于免费源,所有人可以下载,修改,使用以及传播,源中没有任何限制功能,但是出于对作者劳动的尊重,希望您能保留网页底部的版权信息。 开心网址程序目前没有收费想法,但所有把本程序,或修改自本程序的源收费提供给其他网友的做法,我们保留追究法律责任的权利。 开心网址FinalVersion版程序源265风格的css文件和图片均来源于265网址导航(http://www.265.com)。 注意事项 后台管理登陆界面默认地址是:http://你的域名/admin 默认管理员帐号admin密admin管理认证happywz注意及时更改 为了网站安全,发布前一定要做的事: 1.修改后台管理文件夹名(admin文件夹) 2.修改数据库地址(data文件夹名和#data.asa文件名) 3.将mdb.asp中的数据库地址改为修改后的数据库相对于根目录的地址,sessionvar改为任意字符(作为你网站的唯一标识符),修改管理认证,如果你的网站fso组件名称与默认不同,则还要修改fso组件的名称。 4.理论上,网址分类是可以无限层,但是为了网页美观,左侧的分类列表现在只支持3级分类,所以不推荐建立3级以上的分类。 网址部分功能 1.可以设置网站的名称,地址,信箱,管理员,88*31LOGO图片,首页180*60LOGO图片,关键字,网站描述等基本信息。 2.广告信息管理功能,所有广告都可以通过开关设置显示或隐藏。广告类型支持图片,flash,js代,以及自写代。注意把广告Js调用代放置在需要位置。 3.导航条可以从后台进行添加,删除或者修改的管理。 4.数据库管理功能,可以在线备份,恢复,压缩数据库,以及用Sql语句批量处理数据。 5.超级管理员功能,可以增加高级管理员和数据输入员,各有不同功能限制。 6.支持网址N级分类,管理员可以后台对类别,网址进行添加,删除,修改和审核管理。 7.可以设置登录模式为自助登录或邮箱登录. 8.生成html功能,审核新入网址后请更新网址列表,并按分类重新生成html网页。注意在添加修改网址及添加修改分类后重新生成一遍网页。 9.在线编辑网页功能,随心所欲的设计所有页面。 10.最新更新2万条网址数据 11.sql防注入功能,可以锁定ip。 12.某些网站为了安全,将FSO组件的名称进行更改以达到禁用FSO的目的。这样html生成功能将无法使用,如果你的网站属于这种情况,可以到mdb.asp中更改FSO组件名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值