c# url传参html,C# HttpWebRequest传递参数多种方式混合使用

在做CS调用第三方接口的时候遇到了这样的一个问题,通过PSOTman调试需要分别在parmas、Headers、Body里面同时传递参数。在网上查询了很多资料,以此来记录一下开发脱坑历程。

POSTman调试界面:params参数

26b6768f32c834f0986481f34f2fdea8.png

POSTman调试界面:Headers参数

5fdc455a0e144f189c0e1eb725d4d405.png

POSTman调试界面:Body参数

244a1d3ee4a464be743c57e2efd8f6c1.png

在postman调试里面可以这么传递参数,那么在后台调用的时候我们改如何写呢。

经过查阅资料得知。params参数可以直接跟在请求的URL地址后面,Headers参数通过request.Headers.Add()方法添加,Body里面需要传递的格式为JSON直接通过JsonConvert.SerializeObject()将对象序列化,将request.ContentType = "application/json",特别注意的是ContentType不能通过request.Headers.Add()方法添加。

public static string getReportsContent(string param, string url, string RandomCode, stringAuthorization)

{byte[] bytes = null;

HttpWebRequest request=(HttpWebRequest)WebRequest.Create(url);//获取请求的方式

request.Method= "post";

request.ContentType= "application/json";

request.Headers.Add("RandomCode", RandomCode);

request.Headers.Add("Authorization", Authorization);

bytes=Encoding.UTF8.GetBytes(param);

request.ContentLength=bytes.Length;

Stream strStream=request.GetRequestStream();

strStream.Write(bytes,0, bytes.Length);

strStream.Close();//获取设置身份认证及请求超时时间

SetWebRequest(request);//就收应答

HttpWebResponse httpResponse =(HttpWebResponse)request.GetResponse();

Stream strStream1= null;

strStream1=httpResponse.GetResponseStream();string responseContent = newStreamReader(strStream1, Encoding.UTF8).ReadToEnd();returnresponseContent;

}

原文:https://www.cnblogs.com/wofeiliangren/p/11282615.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值