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
|
|||
|
}
|