161 lines
5.4 KiB
C#
161 lines
5.4 KiB
C#
using System.Text;
|
||
using System.Net;
|
||
using System.IO;
|
||
using System;
|
||
using System.Net.Http;
|
||
using System.Net.Http.Headers;
|
||
|
||
namespace Epost.Common
|
||
{
|
||
|
||
#region HttP
|
||
/// <summary>
|
||
/// HttP
|
||
/// </summary>
|
||
public class HttpHelper
|
||
{
|
||
private static object lockobj = new object();
|
||
#region 模拟Http Post请求-电子标签
|
||
/// <summary>
|
||
/// 模拟Http Post请求
|
||
/// </summary>
|
||
/// <param name="Url"></param>
|
||
/// <param name="postDataStr"></param>
|
||
/// <returns></returns>
|
||
public static string HttpPost(string Url, string postDataStr = "")
|
||
{
|
||
try
|
||
{
|
||
HttpClient httpClient = new HttpClient();
|
||
HttpContent httpContent = new StringContent(postDataStr);
|
||
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
|
||
var events = httpClient.PostAsync(Url, httpContent).Result;
|
||
// var result = events.Content.ReadAsStringAsync().Result;
|
||
httpClient.Dispose();
|
||
httpContent.Dispose();
|
||
events.Dispose();
|
||
return events.StatusCode.ToString();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.WriteLogInfo("post请求:" + ex.Message);
|
||
return "Fail";
|
||
}
|
||
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 模拟Http Post请求
|
||
/// <summary>
|
||
/// 模拟Http Post请求
|
||
/// </summary>
|
||
/// <param name="Url"></param>
|
||
/// <param name="postDataStr"></param>
|
||
/// <returns></returns>
|
||
public string HttpPost_Old(string Url, string postDataStr = "")
|
||
{
|
||
|
||
try
|
||
{
|
||
|
||
ServicePointManager.Expect100Continue = false;
|
||
byte[] byteArray = Encoding.UTF8.GetBytes(postDataStr);
|
||
CookieContainer cookie = new CookieContainer();
|
||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
|
||
request.Method = "POST";
|
||
// request.ContentType = "application/x-www-form-urlencoded";
|
||
request.ContentType = "application/json";
|
||
request.ContentLength = byteArray.Length;
|
||
request.CookieContainer = cookie;
|
||
Stream myRequestStream = request.GetRequestStream();
|
||
myRequestStream.Write(byteArray, 0, byteArray.Length);
|
||
myRequestStream.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;
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
|
||
LogHelper.WriteLogInfo("post失败" + e.Message);
|
||
return "Fail";
|
||
}
|
||
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 模拟Http Get请求
|
||
/// <summary>
|
||
/// 模拟Http Get请求
|
||
/// </summary>
|
||
/// <param name="Url"></param>
|
||
/// <param name="postDataStr"></param>
|
||
/// <returns></returns>
|
||
public static string HttpGet(string Url, string postDataStr)
|
||
{
|
||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr);
|
||
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;
|
||
}
|
||
#endregion
|
||
|
||
/// <summary>
|
||
/// HTTP GET方式请求数据.
|
||
/// </summary>
|
||
/// <param name="url">URL.</param>
|
||
/// <returns></returns>
|
||
public static string HttpGet(string url)
|
||
{
|
||
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
|
||
request.Method = "GET";
|
||
request.ContentType = "application/json";
|
||
request.Accept = "*/*";
|
||
request.Timeout = 15000;
|
||
request.AllowAutoRedirect = false;
|
||
WebResponse response = null;
|
||
string responseStr = null;
|
||
try
|
||
{
|
||
response = request.GetResponse();
|
||
|
||
if (response != null)
|
||
{
|
||
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
|
||
responseStr = reader.ReadToEnd();
|
||
reader.Close();
|
||
}
|
||
}
|
||
catch (Exception)
|
||
{
|
||
throw;
|
||
}
|
||
finally
|
||
{
|
||
request = null;
|
||
response = null;
|
||
}
|
||
return responseStr;
|
||
}
|
||
|
||
|
||
|
||
|
||
}
|
||
#endregion
|
||
}
|