发送HTTP请求时一般需要携带一些参数,简单的参数可以直接放到url中,但是一些复杂或者参数过多的情况下不适合放在url中,需要我们自己按标准组装参数格式,如下:
var httpClient = new HttpClient()
var body = new FormUrlEncodedContent(new Dictionary<string, string>
{
//字符串
{ "p1", "值1"},
//数字(这里的值虽然是字符串,但服务端会自动转为数字)
{ "p2", "2"},
//数组
{ "p3[0]", "值3"}, { "p3[1]", "值4"},
//对象,其中KID是指 对象的一个属性名
{ "KID","1" },{"card[BZ]","测试" },
//字典
{ "dic[msisdn]","1"},{ "dic[khid]","2"},
});
// response
var response = httpClient.PostAsync(new Uri("http://xxxxxx"), body).Result;
var data = response.Content.ReadAsStringAsync().Result;
return data;
一般常见的参数格式上边都包括了。
接收方形参定义:
public string fun(string p1, int p2,string [] p3, Card card ,Dictionary<string,string> dic)
{
//其中的Card是自定义实体类名称
}
-end-