• HttpClientHelper.cs


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Net;
    using System.Net.Http;
    using System.Threading.Tasks;
    using Newtonsoft.Json;
    using System.Xml.Serialization;
    using System.IO;

    namespace Common
    {
    public class HttpClientHelper
    {
    public static string GetResponse(string url)
    {
    if (url.StartsWith("https"))
    {
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
    }

    var httpClient = new HttpClient();
    httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
    HttpResponseMessage response = httpClient.GetAsync(url).Result;
    if (response.IsSuccessStatusCode)
    {
    string result = response.Content.ReadAsStringAsync().Result;
    return result;
    }
    return null;

    }

    public static T GetResponse<T>(string url) where T:class,new ()
    {
    if (url.StartsWith("https"))
    {
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
    }
    var httpClient = new HttpClient();
    httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
    HttpResponseMessage response = httpClient.GetAsync(url).Result;

    T result = default(T);
    if (response.IsSuccessStatusCode)
    {
    Task<string> t = response.Content.ReadAsStringAsync();
    string s = t.Result;

    result = JsonConvert.DeserializeObject<T>(s);
    }
    return result;

    }


    public static string PostResponse(string url, string postData)
    {
    if (url.StartsWith("https"))
    {
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
    }

    HttpContent httpContent = new StringContent(postData);
    httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
    var httpClient = new HttpClient();

    HttpResponseMessage response = httpClient.PostAsync(url, httpContent).Result;
    if (response.IsSuccessStatusCode)
    {
    string result = response.Content.ReadAsStringAsync().Result;
    return result;
    }
    return null;
    }

    public static T PostResoponse<T>(string url, string postData) where T : class,new()
    {
    if (url.StartsWith("https"))
    {
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
    }

    HttpContent httpContent = new StringContent(postData);
    httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
    var httpClient = new HttpClient();

    T result = default(T);
    HttpResponseMessage response = httpClient.PostAsync(url, httpContent).Result;

    if (response.IsSuccessStatusCode)
    {
    Task<string> t = response.Content.ReadAsStringAsync();
    string s = t.Result;

    result = JsonConvert.DeserializeObject<T>(s);
    }
    return result;
    }

    public static T PostXmlResponse<T>(string url, string xmlString) where T:class,new ()
    {
    if (url.StartsWith("https"))
    {
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
    }

    HttpContent httpContent = new StringContent(xmlString);
    httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
    var httpClient = new HttpClient();

    T result = default(T);

    HttpResponseMessage response = httpClient.PostAsync(url, httpContent).Result;
    if (response.IsSuccessStatusCode)
    {
    Task<string> t = response.Content.ReadAsStringAsync();
    string s = t.Result;
    result = XmlDeserialize<T>(s);
    }
    return result;


    }


    public static T XmlDeserialize<T>(string xmlString) where T:class,new ()
    {
    try
    {
    var ser = new XmlSerializer(typeof(T));
    using(var reader=new StringReader(xmlString))
    {
    return (T)ser.Deserialize(reader);
    }
    }
    catch (Exception ex)
    {
    throw new Exception("XmlDeserialize发生异常:xmlString:" + xmlString + " 异常信息:" + ex.Message);
    }
    }
    }
    }

  • 相关阅读:
    Caffe 编译
    Caffe 在 Ubuntu 中安装
    【转】git
    Using OpenCV with gcc and CMake
    【转】linux下安装opencv
    【转】shell 教程——07 Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
    【转】shell 教程——06 Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
    python全栈开发-面向对象-初识2
    python全栈开发-面向对象-初识
    python全栈开发-前方高能-内置函数2
  • 原文地址:https://www.cnblogs.com/clj0102/p/9183918.html
Copyright © 2020-2023  润新知