160 lines
5.6 KiB
C#
160 lines
5.6 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Web;
|
||
using System.Xml;
|
||
using System.Net;
|
||
using System.Text;
|
||
using System.IO;
|
||
using RestSharp;
|
||
|
||
namespace BLWWS_BLL
|
||
{
|
||
public static class Tools
|
||
{
|
||
/// <summary>
|
||
/// 验证指定的号码是否是手机号码
|
||
/// </summary>
|
||
/// <param name="number"></param>
|
||
/// <returns></returns>
|
||
public static bool IsMobileNumber(string number)
|
||
{
|
||
return System.Text.RegularExpressions.Regex.IsMatch(number, @"1[0-9]{10}");
|
||
}
|
||
/// <summary>
|
||
/// 获取验证码
|
||
/// </summary>
|
||
/// <param name="length">验证码长度</param>
|
||
/// <returns></returns>
|
||
public static string CreateValidateCode(int length)
|
||
{
|
||
int[] randMembers = new int[length];
|
||
int[] validateNums = new int[length];
|
||
System.Text.StringBuilder validateNumberStr = new System.Text.StringBuilder();
|
||
//生成起始序列值
|
||
int seekSeek = unchecked((int)DateTime.Now.Ticks);
|
||
Random seekRand = new Random(seekSeek);
|
||
int beginSeek = (int)seekRand.Next(0, Int32.MaxValue - length * 10000);
|
||
int[] seeks = new int[length];
|
||
for (int i = 0; i < length; i++)
|
||
{
|
||
beginSeek += 10000;
|
||
seeks[i] = beginSeek;
|
||
}
|
||
//生成随机数字
|
||
for (int i = 0; i < length; i++)
|
||
{
|
||
Random rand = new Random(seeks[i]);
|
||
int pownum = 1 * (int)Math.Pow(10, length);
|
||
randMembers[i] = rand.Next(pownum, Int32.MaxValue);
|
||
}
|
||
//抽取随机数字
|
||
for (int i = 0; i < length; i++)
|
||
{
|
||
string numStr = randMembers[i].ToString();
|
||
int numLength = numStr.Length;
|
||
Random rand = new Random();
|
||
int numPosition = rand.Next(0, numLength - 1);
|
||
validateNums[i] = Int32.Parse(numStr.Substring(numPosition, 1));
|
||
}
|
||
//生成验证码
|
||
for (int i = 0; i < length; i++)
|
||
{
|
||
validateNumberStr.Append(validateNums[i].ToString());
|
||
}
|
||
return validateNumberStr.ToString();
|
||
}
|
||
/// <summary>
|
||
/// post数据接口
|
||
/// </summary>
|
||
/// <param name="url"></param>
|
||
/// <param name="postData"></param>
|
||
/// <param name="method">post和put,默认post</param>
|
||
/// <returns></returns>
|
||
public static string PostWebRequest(string url, string postData)
|
||
{
|
||
string result = string.Empty;
|
||
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
|
||
req.ContentType = "application/json";
|
||
req.Method = "POST";
|
||
//req.Timeout = 10000;//设置请求超时时间,单位为毫秒
|
||
byte[] data = Encoding.UTF8.GetBytes(postData);
|
||
req.ContentLength = data.Length;
|
||
using (Stream reqStream = req.GetRequestStream())
|
||
{
|
||
reqStream.Write(data, 0, data.Length);
|
||
}
|
||
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
|
||
using (Stream stream = resp.GetResponseStream())
|
||
{
|
||
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
|
||
{
|
||
result = reader.ReadToEnd();//获取响应内容
|
||
}
|
||
}
|
||
return result;
|
||
|
||
}
|
||
|
||
|
||
public static string PostWebRequestNew(string url, string postData)
|
||
{
|
||
string content = "";
|
||
try
|
||
{
|
||
var client1 = new RestClient(url);
|
||
var request1 = new RestRequest("", Method.POST);
|
||
request1.AddJsonBody(postData);
|
||
var Response = client1.Execute(request1).Content;
|
||
content = Response;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.WriteLog(ex.Message);
|
||
}
|
||
return content;
|
||
}
|
||
|
||
public static string ByteToString(byte[] bytesData)
|
||
{
|
||
StringBuilder result = new StringBuilder();
|
||
foreach (byte r in bytesData)
|
||
{
|
||
result.Append(r.ToString("X2") + " ");
|
||
}
|
||
return result.ToString().Trim();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 16进制 字符串 转换成 字节 数组
|
||
/// </summary>
|
||
/// <param name="hexString"></param>
|
||
/// <returns></returns>
|
||
public static byte[] HEXString2ByteArray(string hexString)
|
||
{
|
||
char[] hexCharacters = hexString.ToCharArray();
|
||
byte[] byteArray = new byte[hexCharacters.Length / 2];
|
||
|
||
for (int i = 0; i < byteArray.Length; i++)
|
||
{
|
||
string hexVal = string.Concat(hexCharacters[i * 2], hexCharacters[i * 2 + 1]);
|
||
byteArray[i] = Convert.ToByte(hexVal, 16);
|
||
}
|
||
return byteArray;
|
||
|
||
}
|
||
|
||
public static long GetCurrentTimeStamp(DateTime dt)
|
||
{
|
||
TimeSpan ts = dt - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Local);
|
||
long current_timestamp = Convert.ToInt64(ts.TotalSeconds);
|
||
return current_timestamp;
|
||
}
|
||
public static DateTime GetCurrentDateTime(long timestampMilliseconds)
|
||
{
|
||
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Local);
|
||
DateTime utcTime = epoch.AddSeconds(timestampMilliseconds);
|
||
return utcTime;
|
||
}
|
||
}
|
||
} |