添加项目文件。
This commit is contained in:
160
Common/HttpHelper.cs
Normal file
160
Common/HttpHelper.cs
Normal file
@ -0,0 +1,160 @@
|
||||
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
|
||||
}
|
Reference in New Issue
Block a user