提示:以下是本篇文章正文内容,下面案例可供参考
1.引入库
代码如下(示例):
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
Get请求
代码如下(示例):
/// <summary>
/// Http Get方法
/// </summary>
/// <param name="HttpUrl">请求地址</param>
async void GetRequest(string HttpUrl)
{
try
{
//用于发送Http请求和来接受通过URI确认的资源的HttP响应
using (HttpClient client = new HttpClient())
{
//创建HttpResponseMessage 接收 表示Http响应信息,包括状态代码、和数据
using (HttpResponseMessage response = await client.GetAsync(HttpUrl))
{
//创建content对象接收返回数据
using (HttpContent content = response.Content)
{
//请求头
HttpContentHeaders herders = content.Headers;
//声明字符串接收HttpContent里面的内容
string mycontent = await content.ReadAsStringAsync();
//转成JSON
JObject jsondata = (JObject)JsonConvert.DeserializeObject(mycontent);
//jsondata["status"] 获取其下的字段
//JObject jsondata2 = (JObject)JsonConvert.DeserializeObject(jsondata["status"]);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message);
}
}
Post请求
代码如下(示例):
/// <summary>
/// Http Post方法
/// </summary>
/// <param name="HttpUrl"></param>
async void PostRequest(string HttpUrl)
{
try
{
//用于发送Http请求和来接受通过URI确认的资源的HttP响应
using (HttpClient client = new HttpClient())
{
//动态获取请求头
// IEnumerable<KeyValuePair<string, string>> queries = list;
//默认请求头
IEnumerable<KeyValuePair<string, string>> queries = new List<KeyValuePair<string, string>>() {
new KeyValuePair<string, string>("name1","value1"),
new KeyValuePair<string, string>("name2","value2")
};
HttpContent contentKV = new FormUrlEncodedContent(queries);
using (HttpResponseMessage response = await client.PostAsync(HttpUrl, contentKV))
{
using (HttpContent content = response.Content)
{
string mycontent = await content.ReadAsStringAsync();
JObject jsondata = (JObject)JsonConvert.DeserializeObject(mycontent);
//转换为list集合类型
//List<StatusItem> list1 = JsonConvert.DeserializeObject<List<StatusItem>>(jsondata["data"].ToString());
}
}
}
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message);
}
}
动态获取请求头
代码如下(示例):
//动态添加请求值
private List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>();
public void AddHeaders(string Key1, string values1)
{
KeyValuePair<string, string> keyValuePair = new KeyValuePair<string, string>(Key1, values1);
list.Add(keyValuePair);
}
总结
提示:
类型转换时要注意,看JSON中是object还是集合,使用对应的方法