【C#】后台调用Http外网接口(GET, POST)

自闭症网瘾萝莉.ら 提交于 2020-01-11 05:39:54

1.get方法调用接口获取json文件内容

public static string HttpGet(string url)
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
    request.Method = "GET";
    request.ContentType = "text/html;charset=UTF-8";
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    Stream myResponseStream = response.GetResponseStream();
    StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
    string retString = myStreamReader.ReadToEnd();
    myStreamReader.Close();
    myResponseStream.Close();
    Response.Write(retString);
    return retString;
}

这个太复杂了 突然发现个简单的

using (var client = new WebClient())
{
    client.Encoding = Encoding.UTF8;
    string serviceAddress = urlappend + "cloud/device/data/getErrorData?appId=" + appid + "&accessToken=" + accessToken + "&timestamp=" + time + "&deviceIds=" + deviceIds;
     var data = client.DownloadString(serviceAddress);
     var obj = JsonConvert.DeserializeObject<JObject>(data);
}

//obj就是返回数据的对象

2.post方法调用接口获取json文件内容

public void PostFunction()
{
    string serviceAddress = "http://222.111.999.444:8687/tttr/usercrd/uuu/12/dfd7e4";
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
    request.Method = "POST";
    request.ContentType = "application/json";                               
    string strContent = @"{ ""mmmm"": ""89e"",""nnnnnn"": ""0101943"",""kkkkkkk"": ""e8sodijf9""}";
    using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream()))
    {
        dataStream.Write(strContent);
        dataStream.Close();
    }
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    string encoding = response.ContentEncoding;
    if (encoding == null || encoding.Length < 1)
    {
        encoding = "UTF-8"; //默认编码  
    }
    StreamReader reader = new StreamReader
                            (response.GetResponseStream(), Encoding.GetEncoding(encoding));
    string retString = reader.ReadToEnd();
    //解析josn
    JObject jo = JObject.Parse(retString);
    Response.Write(jo["message"]["mmmm"].ToString());
} 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!