xml地图|网站地图|网站标签 [设为首页] [加入收藏]
获取服务端https证书,sqlserver生成32位数据库字段
分类:编程

一、
C#中用Guid.NewGuid().ToString()

最近开发一个需求,涉及获取服务端https证书。一般进行https调用我们都不太关心底层细节,直接使用WebClient或者HttpWebRequest来发送请求,这两种方法都无法获取证书信息,需要用到ServicePoint,这个类用于提供HTTP连接的管理。

rails框架默认有三个模式development(开发),production(上线),test(测试)

Sql中用NEWID()

 

Development

 config.cache_classes = false 每次请求都会重新加载,修改代码之后可以直接使用。

 config.consider_all_requests_local = true 在本地测试的时候可以显示所有的错误。

 config.action_controller.perform_caching = false 

 config.action_mailer.raise_delivery_errors = false 如果寄信失败,是否要丢出例外。建议可以改成 true。

 config.active_support.deprecation = :log 随着 Rails 版本的升级,如果有方法会在之后的版本中移除,deprecation 会提示你如何因应。这里的 :log 表示会记录到 log 档案中。

 

 

写个Demo,拿新浪首页试一下:

Production 模式

 config.cache_classes = true 与开发环境不同,把数据保存在内存中,速度更快

 config.action_controller.perform_caching = true 不同于 development,如果在 production 环境出现例外错误,不会显示程式 call stack 讯息,而是回传 public/500.html 页面。

 config.serve_static_assets = false “X-Sendfile” 是网页服务器提供的功能,可以让下载档案的动作完全委派给网页服务器,Rails 送出 X-Sendfile 标头后就毋需再佔住资源。

 config.force_ssl = true 是否限制全站必须SSL才能使用。 

 config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) 可以更换掉 Rails 内建的 Logger,例如换成使用 syslog 的 SyslogLogger。

 config.cache_store = :mem_cache_store 设定不同的快取储存库,默认是 :memory_store,也就是每个 Rails process 各自用内存存放。业界最常用的则是 memcached 内存快取服务器

获取服务端https证书,sqlserver生成32位数据库字段总结。获取服务端https证书,sqlserver生成32位数据库字段总结。 config.action_controller.asset_host = "" 默认的静态档案位置是目前主机的 public 目录,你可以透过修改 asset_host 变更位置。例如你的静态档案放在不同台机器或 CDN(Content delivery network) 上。

 

以上方法生成的是36位的GUID,如果需要转换成32位,则需要替换掉其中的'-'字符。

using System;
using System.Net;
using System.Security.Cryptography.X509Certificates;

namespace GetServerCertificateDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            //用WebClient访问新浪首页
            var http = new WebClient();
            var uri = new Uri("https://www.sina.com.cn");
            http.DownloadString(uri);

            //通过Uri获取ServicePoint
            var servicePoint = ServicePointManager.FindServicePoint(uri);

            //取服务端证书,X509Certificate格式,转一下
            var serverCert = new X509Certificate2(servicePoint.Certificate);
            Console.WriteLine("颁发给:{0}", serverCert.Subject);
            Console.WriteLine("颁发者:{0}", serverCert.Issuer);
            Console.WriteLine("序列号:{0}", serverCert.SerialNumber);
            Console.WriteLine("指  纹:{0}", serverCert.Thumbprint);
            Console.WriteLine("起  始:{0}", serverCert.NotBefore);
            Console.WriteLine("过  期:{0}", serverCert.NotAfter);
        }
    }
}

Test 模式

 config.action_dispatch.show_exceptions = false 不同于 development 或 production 碰到例外会捕捉例外后,给浏览器显示出 call stack trace 或 public/500.html 画面,在 test 模式就不处理,让例外直接报错。

 config.action_mailer.delivery_method = :test 测试模式下不会真的去寄送email

 config.active_support.deprecation = :stderr 让 deprecation 讯息会直接显示到视窗之中

 

Sql中的方法:replace(newid(), '-', '')

 

 

运行看效果:


图片 1

本文由澳门新葡亰手机版发布于编程,转载请注明出处:获取服务端https证书,sqlserver生成32位数据库字段

上一篇:没有了 下一篇:创建SQLite控制台应用程序,rails使用Kindeditor网页
猜你喜欢
热门排行
精彩图文