1.DateTime 转为Unix的long的时间戳

long orderTime = order.AddTime.ToUnixTimeStamp("Milliseconds");
long payTime = order.StartTime.Value.ToUnixTimeStamp("Milliseconds");

2.获取客户端IP

/// <summary>
/// 获取调用方的IP地址
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetClientIp(HttpRequestMessage request)
{
if (request.Properties.ContainsKey("MS_HttpContext"))
{
return ((HttpContextWrapper)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
} if (request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name))
{
RemoteEndpointMessageProperty prop;
prop = (RemoteEndpointMessageProperty)request.Properties[RemoteEndpointMessageProperty.Name];
return prop.Address;
}
return null;
}

3.获取当前站点域名

   /// <summary>
/// 获取当前站点域名
/// </summary>
/// <returns></returns>
public static string GetCurrentDomain()
{
var url = HttpContext.Current.Request.Url;
return string.Format("{0}://{1}:{2}", url.Scheme, url.Host, url.Port);
}

4.Md5加密

/// <summary>
/// MD5加密
/// </summary>
/// <param name="strInput">加密前的字符串</param>
/// <returns></returns>
public static string MD5(string strInput)
{
using (MD5 md5 = new MD5CryptoServiceProvider())
{
byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(strInput));
string strResult = BitConverter.ToString(bytResult);
strResult = strResult.Replace("-", "");
return strResult.ToLower();
}
}

5.UrlEncode和UrlDecode

/// <summary>
/// UrlEncode
/// </summary>
/// <param name="strInput">Encode前的字符串</param>
/// <returns></returns>
public static string UrlEncode(string strInput)
{
return System.Web.HttpUtility.UrlEncode(strInput, Encoding.UTF8);
} /// <summary>
/// UrlDecode
/// </summary>
/// <param name="strInput">Decode前的字符串</param>
/// <returns></returns>
public static string UrlDecode(string strInput)
{
return System.Web.HttpUtility.UrlDecode(strInput, Encoding.UTF8);
}

6.输入字符是否为分隔符

/// <summary>
/// 输入字符是否为分隔符
/// </summary>
/// <param name="strInput">输入字符</param>
/// <param name="separator">分隔符</param>
/// <returns></returns>
public static bool IsNullOrSeparator(string strInput)
{
if (string.IsNullOrEmpty(strInput))
{
return true;
} Regex regex = new Regex(@"^[\,,。\. ';;\(\)()\[\]\\\{\}\!!@#\$%\^…&\*\-_\+\=\|~《》\<\>\??\/、::“`]+$"); return regex.IsMatch(strInput);
}

7.async HttpGet:

   public static async Task<string> HttpGet(string Url)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8"; using (var response =await request.GetResponseAsync())
{
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
return retString;
}
}

8.async HttpPost 参数json格式:

 public static async Task<string> HttpPostAsync(string url, string postData)
{
try
{
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = byteArray.Length;
using (Stream myRequestStream = await request.GetRequestStreamAsync())
{
myRequestStream.Write(byteArray, , byteArray.Length);
WebResponse response = request.GetResponse();
StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
return myStreamReader.ReadToEnd();
}
}
catch (Exception ex)
{
Logger.Info(ex);
return string.Empty;
} }

9.async HttpPost 键值对方式:

 public static async Task<string> HttpPostAsync(string url, Dictionary<string,string> paramList)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
StringBuilder sb = new StringBuilder();
foreach (var item in paramList)
{
sb.Append(item.Key + "=" + item.Value + "&");
}
string paramData = sb.ToString().Trim('&');
byte[] data = System.Text.Encoding.UTF8.GetBytes(paramData);
request.Method = "post";
//这句不能少 不难post请求 得不到对应的响应结果
request.ContentType = "application/x-www-form-urlencoded";
using (Stream myRequestStream = await request.GetRequestStreamAsync())
{
myRequestStream.Write(data, , data.Length);
WebResponse response = request.GetResponse();
StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
return myStreamReader.ReadToEnd();
}
}
catch (Exception ex)
{
Logger.Info(ex);
return string.Empty;
} }

C# 常用的工具方法的更多相关文章

  1. javscript 一些常用的工具方法

    一些工作中经常会用到的js代码,可以封装成一个工具库. 积少成多,从现在开始吧! -------------- 1 . 判断一段文字的长度.要求中文相当于2个字符,非中文的相当于1个字符 String ...

  2. commonJS,常用js工具方法

    说明:平时项目用到的一些常见过滤方法,有些是vue过滤器,稍微修改下吧,我就不改了. js四舍五入不准确的解决(重写方法): Number.prototype.toFixed = function(l ...

  3. js 常用业务工具方法 (es5,es6)持续更新

    数组去重 数组去重最原始的方法就是使用双层循环. es5: // 使用indexOf function unique(array) { var res = []; for (var i = 0, le ...

  4. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  5. JQuery $ $.extend(),$.fn和$.fn.extend javaScript对象、DOM对象和jQuery对象及转换 工具方法(utility)

    一.为什么jquery前面要写$ Javascript没有package的概念,而作者又希望所有jQuery相关的API都能通过一个全局性的对象来容纳. 名为jQuery的全局变量就是这样一个对象,不 ...

  6. jquery常用的一些方法

    一.选择网页元素(标签选择器) $(document) //选择整个文档对象 $('#myId') //选择ID为myId的网页元素 $('div.myClass') // 选择class为myCla ...

  7. JQuery系列(3) - 工具方法

    jQuery函数库提供了一个jQuery对象(简写为$),这个对象本身是一个构造函数,可以用来生成jQuery对象的实例.有了实例以后,就可以调用许多针对实例的方法,它们定义jQuery.protot ...

  8. 【跟着子迟品 underscore】常用类型判断以及一些有用的工具方法

    Why underscore 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...

  9. Underscore.js 常用类型判断以及一些有用的工具方法

    1. 常用类型判断以及一些有用的工具方法 underscore.js 中一些 JavaScript 常用类型检查方法,以及一些工具类的判断方法. 首先我们先来谈一谈数组类型的判断.先贴出我自己封装好的 ...

随机推荐

  1. [SDOI2011]计算器(BSGS)

    洛古题面 对于操作一,用快速幂算即可 代码如下 int quickpow(int a,int b,int k) { int r=1; while(b) { if(b&1) r=(r*a)%k; ...

  2. Macbook外接显示器模糊解决方法

    解决方法(此方法经本人测试失败) 下载这个http://www.elias.cn/uploads/Mac/patch-edid.zip.如果链接失效可以使用https://gist.github.co ...

  3. Django 模板 继承和包含

    ##### 母版 ##### 这里是头部 {% block body-content %}{% endblock %} 这里是底部 #### 继承模板 ### {% extends 'layout.h ...

  4. mysql数据库的优化和查询效率的优化

    一.数据库的优化 1.优化索引.SQL 语句.分析慢查询: 2.设计表的时候严格根据数据库的设计范式来设计数据库: 3.使用缓存,把经常访问到的数据而且不需要经常变化的数据放在缓存中,能节约磁盘IO: ...

  5. Solr7.1--- 单机Linux环境搭建

    应网友的要求,写个关于Linux单机的 首先,把MySQL驱动包和solr7.1安装包上传到服务器,我上传到了自定义的目录/mysoft 执行服务安装脚本 1. 先切换到root用户 2. 解压出脚本 ...

  6. (排序的新方法)nyoj1080-年龄排序

    1080-年龄排序 内存限制:234MB 时间限制:2000ms 特判: No通过数:148 提交数:575 难度:0 题目描述: JXB经常向HJS炫耀他们家乡那里有多么多么好,但是HJS大牛从来对 ...

  7. python自动化开发-[第十九天]-分页,cookie,session

    今日概要: 1.cookie和session 2.csrf 跨站请求伪造 3.自定义分页 一.上节回顾: http请求的本质: - Http请求本质 浏览器(socket客户端): 2. socket ...

  8. 洛谷P1119 灾后重建 Floyd + 离线

    https://www.luogu.org/problemnew/show/P1119 真是有故事的一题呢 半年前在宁夏做过一道类似的题,当时因为我的愚昧痛失了金牌. 要是现在去肯定稳稳的过,真是生不 ...

  9. 将二维list某列组成新的list

    # encoding: utf-8 import decimal import requests import logging import logging.config import random ...

  10. 用count sql做jmeter的while条件

    ${__groovy(vars.get("pboc_req_record_counter_1") == "Invalid"  || vars.get(" ...