90 lines
3.0 KiB
C#
90 lines
3.0 KiB
C#
using COMMON;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace SERVER.LIB
|
|
{
|
|
public class WEBHELP: UtilsSharp.WebHelper
|
|
{
|
|
public T Get<T>(string url, int Timeout = 10000)
|
|
{
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
|
request.Method = "GET";
|
|
request.ContentType = "text/html;charset=UTF-8";
|
|
request.UserAgent = null;
|
|
request.Timeout = Timeout;
|
|
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();
|
|
if (!string.IsNullOrEmpty(retString))
|
|
return JsonConvert.DeserializeObject<T>(retString);
|
|
else
|
|
return default(T);
|
|
}
|
|
/// <summary>
|
|
/// 指定Post地址使用Get 方式获取全部字符串
|
|
/// </summary>
|
|
/// <param name="url">请求后台地址</param>
|
|
/// <param name="dic">请求后台地址</param>
|
|
/// <returns></returns>
|
|
public T Post<T>(string url, Dictionary<string, object> dic)
|
|
{
|
|
string result = "";
|
|
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
|
|
req.Method = "POST";
|
|
req.ContentType = "application/x-www-form-urlencoded";
|
|
#region 添加Post 参数
|
|
StringBuilder builder = new StringBuilder();
|
|
int i = 0;
|
|
foreach (var item in dic)
|
|
{
|
|
if (i > 0)
|
|
builder.Append("&");
|
|
builder.AppendFormat("{0}={1}", item.Key, item.Value);
|
|
i++;
|
|
}
|
|
byte[] data = Encoding.UTF8.GetBytes(builder.ToString());
|
|
req.ContentLength = data.Length;
|
|
using (Stream reqStream = req.GetRequestStream())
|
|
{
|
|
reqStream.Write(data, 0, data.Length);
|
|
reqStream.Close();
|
|
}
|
|
#endregion
|
|
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
|
|
Stream stream = resp.GetResponseStream();
|
|
//获取响应内容
|
|
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
|
|
{
|
|
result = reader.ReadToEnd();
|
|
}
|
|
try
|
|
{
|
|
if (!string.IsNullOrEmpty(result))
|
|
return JsonConvert.DeserializeObject<T>(result);
|
|
else
|
|
{
|
|
|
|
return default(T);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelp.Error(ex.ToString());
|
|
return default(T);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|