zoukankan      html  css  js  c++  java
  • 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);
    }
    }
    }
    }

  • 相关阅读:
    加载第三方Cocoapod库时到项目时
    IOS seachbar 收回键盘
    设置tableView 的Section的title问题
    UISearchView
    UICollectionView 头视图、 尾视图以及Cell自定制
    UICollectionView
    Tomcat上java.lang.IllegalStateException: Optional int parameter 'id' is not present
    格式化p6spy的输出日志
    bootstrap fileinput添加上传成功回调事件
    条件注释判断浏览器<!--[if !IE]>
  • 原文地址:https://www.cnblogs.com/clj0102/p/9183918.html
Copyright © 2011-2022 走看看