zoukankan      html  css  js  c++  java
  • 远程获取http数据和提交数据

    /// <summary>
            /// 
            /// 获取远程http Api数据
            /// </summary>
            /// <param name="Url"></param>
            /// <returns></returns>
            public static string HttpData(string Url,string method="GET")
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
                request.Method =method;
                request.ContentType = "application/json";
                //request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
                //Stream myRequestStream = request.GetRequestStream();
                //StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
                //myStreamWriter.Write(postDataStr);
                //myStreamWriter.Close();
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream myResponseStream = response.GetResponseStream();
                StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                string retString = myStreamReader.ReadToEnd();
                myStreamReader.Close();
                myResponseStream.Close();
                return retString;
            }
            /// <summary>
            /// post请求
            /// 把参数以Post方式远程提交并返回结果
            /// </summary>
            /// <param name="Url"></param>
            /// <param name="message"></param>
            /// <returns></returns>
            public static async Task<T> DoPost<T>(string Url, object message) where T : new()
            {
                var res = new T();
                string jsonContent = JsonConvert.SerializeObject(message);
                string responseBody = string.Empty;
                using (HttpClient httpClient = new HttpClient())
                {
                    var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");
                    httpClient.DefaultRequestHeaders.Add("Method", "Post");
                    HttpResponseMessage response = await httpClient.PostAsync(Url, content);
                    response.EnsureSuccessStatusCode();
                    responseBody = await response.Content.ReadAsStringAsync();
                    res = (T)JsonConvert.DeserializeObject<T>(responseBody);
                }
                return res;
            }
  • 相关阅读:
    AWK用法详解
    追加内容到指定的行
    自动scp(二)
    Spring 容器IOC解析及简单实现
    Spring 容器AOP的实现原理——动态代理
    Try语句中有return,那么finally中的code会执行吗?什么时候执行?
    Java中HashMap和TreeMap的区别
    HashTable和HashMap的区别详解
    ArrayList、LinkedList与Vector的对比
    事务是什么
  • 原文地址:https://www.cnblogs.com/lunawzh/p/14957393.html
Copyright © 2011-2022 走看看