C# HttpWebResponse 调用WebApi

最近有个接口项目,主要运用了webApi,网上查了些资料,再次总结一下,希望帮助到大家。

客户端主要运用到post方法用的是HttpWebResponse

webApi接受客户端传的参数 一种是地址传过来的参数  一种是http的请求体中传过来的

服务器webApi 接受代码    

WebApi程序可在方法参数前加[FromBody]标识,表示该参数值应该从请求的Body中获取,而不是从URL中获取

客户端 请求代码   

主要注意  request.ContentType 如果传的json类型 要设置成 “application/json; charset=utf-8”

而 传的string 类型 要设置成 “application/x-www-form-urlencoded” 参数前面要加“=”

如果传参 (string类型) 中有 有+ 传过去就会变成 空格 解决办法是传参之前把加号替换成"%2b"

 public static string HttpPost(string url, string body)
        {
            Encoding encoding = Encoding.UTF8;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";
            request.Accept = "textml, application/xhtml+xml, */*";
            request.ContentType = "application/x-www-form-urlencoded";
            //request.ContentType = "application/json; charset=utf-8";

            byte[] buffer = encoding.GetBytes(body);
            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
            {
                return reader.ReadToEnd();
            }
        }
客户端调用的方法

小小生技术分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值