using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Security.Cryptography;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Configuration;
namespace YTSoft.BaseCallCenter.MVCWeb.Commons
{
public class HttpHelper
{
//获取配置文件中api借口IP信息
///
/// 通过get获取数据
///
/// /控制器名称/Action名称
/// 查询条件字符串
///
public static string HttpGet(string controllerActionName,string filters)
{
//访问路径
string httpUrl = controllerActionName + (string.IsNullOrEmpty(filters.Trim()) ? "" : "?") + filters;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(httpUrl);
request.KeepAlive = false;
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.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;
}
//获取配置文件中api借口IP信息
///
/// 通过get获取数据
///
/// /控制器名称/Action名称
/// 查询条件字符串
///
public static string HttpSMSSend(string httpUrl)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(httpUrl);
request.KeepAlive = false;
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.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return retString;
}
public static string HttpPost(string controllerActionName, object json)
{
string result = string.Empty;
try
{
HttpClient client = new HttpClient();
string httpUrl = controllerActionName;
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = client.PostAsJsonAsync(httpUrl, json).Result;
if (response.IsSuccessStatusCode)
{
result = response.Content.ReadAsStringAsync().Result;
//response.Content.ReadAsAsync