• C# http post、get请求



    public string HttpPostJson(string Url, string paramData, Dictionary<string, string> headerDic = null)
    {
    string jsons;
    try
    {
    HttpWebRequest wbRequest = (HttpWebRequest)WebRequest.Create(Url);
    wbRequest.KeepAlive = false;
    wbRequest.Method = "POST";
    wbRequest.ContentType = "application/json";
    wbRequest.ContentLength = Encoding.UTF8.GetByteCount(paramData);
    if (headerDic != null && headerDic.Count > 0)
    {
    foreach (var item in headerDic)
    {
    wbRequest.Headers.Add(item.Key, item.Value);
    }
    }
    using (Stream requestStream = wbRequest.GetRequestStream())
    {
    using (StreamWriter swrite = new StreamWriter(requestStream))
    {
    swrite.Write(paramData);
    }
    }
    HttpWebResponse wbResponse = (HttpWebResponse)wbRequest.GetResponse();
    using (Stream responseStream = wbResponse.GetResponseStream())
    {
    using (StreamReader sread = new StreamReader(responseStream))
    {
    jsons = sread.ReadToEnd();

    }

    }
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message, "服务连接");
    return "";
    }
    return jsons;
    }

    /// <summary>
    /// 转换对象为JSON格式数据
    /// </summary>
    /// <typeparam name="T">类</typeparam>
    /// <param name="obj">对象</param>
    /// <returns>字符格式的JSON数据</returns>
    public static string GetJSON<T>(object obj)
    {
    string result = String.Empty;
    try
    {
    System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =
    new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
    using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
    {
    serializer.WriteObject(ms, obj);
    result = System.Text.Encoding.UTF8.GetString(ms.ToArray());
    }
    }
    catch (Exception ex)
    {
    throw ex;
    }
    return result;
    }

    /// <summary>
    /// POST上传
    /// </summary>
    /// <param name="Url"></param>
    /// <param name="postDataStr"></param>
    /// <returns></returns>
    public string HttpPost1(string Url, string postDataStr)
    {
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = postDataStr.Length;
    StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII);
    writer.Write(postDataStr);
    writer.Flush();
    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();
    return retString;
    }

    //public string HttpPost(string Url, string postDataStr) //post读取

    //{

    // HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);

    // request.Method = "POST";

    // request.ContentType = "application/x-www-form-urlencoded";

    // request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);

    // request.CookieContainer = cookie;

    // Stream myRequestStream = request.GetRequestStream();

    // StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));

    // myStreamWriter.Write(postDataStr);

    // myStreamWriter.Close();

    // HttpWebResponse response = (HttpWebResponse)request.GetResponse();

    // response.Cookies = cookie.GetCookies(response.ResponseUri);

    // Stream myResponseStream = response.GetResponseStream();

    // StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));

    // string retString = myStreamReader.ReadToEnd();

    // myStreamReader.Close();

    // myResponseStream.Close();

    // return retString;

    //}


    /// <summary>
    /// JSON格式字符转换为T类型的对象
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="jsonStr"></param>
    /// <returns></returns>
    public static T ParseFormByJson<T>(string jsonStr)
    {
    T obj = Activator.CreateInstance<T>();
    using (System.IO.MemoryStream ms =
    new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonStr)))
    {
    System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =
    new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
    return (T)serializer.ReadObject(ms);
    }
    }
    private static Logger logger = LogManager.GetCurrentClassLogger();
    public string GetPage(string requestUrl)
    {
    Stream instream = null;
    StreamReader sr = null;
    HttpWebResponse response = null;
    HttpWebRequest request = null;
    // 准备请求...
    try
    {
    // 设置参数
    request = WebRequest.Create(requestUrl) as HttpWebRequest;
    CookieContainer cookieContainer = new CookieContainer();
    request.CookieContainer = cookieContainer;
    request.AllowAutoRedirect = true;
    request.Method = "GET"; //请求方式GET或POST
    request.ContentType = "application/x-www-form-urlencoded";
    request.Headers.Add("Authorization", "Basic YWRtaW46YWRtaW4=");

    //发送请求并获取相应回应数据
    response = request.GetResponse() as HttpWebResponse;
    //直到request.GetResponse()程序才开始向目标网页发送Post请求
    instream = response.GetResponseStream();
    sr = new StreamReader(instream, Encoding.UTF8);
    //返回结果网页(html)代码
    string content = sr.ReadToEnd();
    string err = string.Empty;
    return content;
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message, "服务连接");
    string info = string.Format(ex.Message);
    logger.Error(info);
    return "";
    }
    }

    /// <summary>
    /// Json转换成对象
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="jsonText"></param>
    /// <returns></returns>
    public T JsonToObject<T>(string jsonText)
    {
    DataContractJsonSerializer s = new DataContractJsonSerializer(typeof(T));
    MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonText));
    T obj = (T)s.ReadObject(ms);
    ms.Dispose();
    return obj;
    }
    /// <summary>
    /// 对象转换成JSON
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="obj"></param>
    /// <returns></returns>
    public string ObjectToJSON<T>(T obj)
    {
    DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
    string result = string.Empty;
    using (MemoryStream ms = new MemoryStream())
    {
    serializer.WriteObject(ms, obj);
    ms.Position = 0;

    using (StreamReader read = new StreamReader(ms))
    {
    result = read.ReadToEnd();
    }
    }
    return result;
    }

  • 相关阅读:
    centos7 安装RabbitMQ
    idea 好用的java插件
    eureka 创建服务注册中心
    服务治理 1.注册中心知多少
    服务治理组件比较
    springboot 引入 fastDFS
    centos7 安装 fastDFS
    2、常用查询
    1-库表查看及常用数据类型
    报错:is not allowed to connect tothis mmysql server(mysql无法链接外网)
  • 原文地址:https://www.cnblogs.com/cxdanger/p/9372523.html
Copyright © 2020-2023  润新知