SSL指标源码(股票ssl指标)
Python3处理HTTPS请求 SSL证书验证
Python3处理HTTPS请求 SSL证书验证
金融类的公司网站一般都是https 开头的网站,urllib.request可以为 HTTPS 请求验证SSL证书,就像web浏览器一样,如果网站的SSL证书是经过CA认证的,则能够正常访问,如:
- 平安好伙伴出单系统:https://icore-pts.pingan.com.cn/ebusiness/login.jsp
- 浙商保险出单系统:https://core.zsins.com/pcis//core/main.jsp
例子一:编写一个https请求程序访问(平安好伙伴出单系统)
from urllib import parse
import urllib.request
url = 'https://icore-pts.pingan.com.cn/ebusiness/login.jsp'
headers ={
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36",
}
# url 作为Request()方法的参数,构造并返回一个Request对象
request = urllib.request.Request(url,headers=headers)
# Request对象作为urlopen()方法的参数,发送给服务器并接收响应
response = urllib.request.urlopen(request)
html = response.read().decode('utf-8')
print(html)
通过例子,是可以正常访问的,因为网站的SSL证书是经过CA认证的。
如果SSL证书验证不通过,或者操作系统不信任服务器的安全证书,比如浏览器在访问12306网站如:
https://www.12306.cn/mormhweb/的时候,会警告用户证书不受信任。(据说 12306 网站证书是自己做的,没有通过CA认证)
例子二:编写一个https请求程序访问(12306网站)
from urllib import parse
import urllib.request
url = 'https://www.12306.cn/mormhweb/'
headers ={
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36",
}
# url 作为Request()方法的参数,构造并返回一个Request对象
request = urllib.request.Request(url,headers=headers)
# Request对象作为urlopen()方法的参数,发送给服务器并接收响应
response = urllib.request.urlopen(request)
html = response.read().decode('utf-8')
print(html)
运行结果:
运行报错:ssl.CertificateError: hostname 'www.12306.cn' doesn't match either of 'webssl.chinanetcenter.com'
通过查看urllib.request库源码文件
如果网站的SSL证书是经过CA认证,就需要单独处理SSL证书,让程序忽略SSL证书验证错误,即可正常访问。
例子三:12306网站或略SSL证书验证
from urllib import parse
import urllib.request
# 1. 导入Python SSL处理模块
import ssl
# 2. 表示忽略未经核实的SSL证书认证
context = ssl._create_unverified_context()
url = 'https://www.12306.cn/mormhweb/'
headers ={
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36",
}
# url 作为Request()方法的参数,构造并返回一个Request对象
request = urllib.request.Request(url,headers=headers)
# Request对象作为urlopen()方法的参数,发送给服务器并接收响应
# 3. 在urlopen()方法里 指明添加 context 参数
response = urllib.request.urlopen(request,context = context)
html = response.read().decode('utf-8')
print(html)
运行结果:
通过例子,证明我们的处理是成功的。
为什么要配置https?
在互联网时代,信息泄露会给工作和生活带来很大的困扰,会源源不断的收到垃圾短信和各种推销电话和诈骗电话的骚扰。隐私泄露后可能会 让不法分子钻空子来获取你的信任从而使人更容易上当受骗。对于企业网站来说,不能保护好用户的隐私信息可能会面临行政罚款,同时还会损害企业的形象和声誉。
因此,企业网站应提前采取保护网络安全措施,防患于未然,而为网站部署SSL证书实现https加密是保护网络安全的基础。
尤其是微信开发、APP开发等都是强制的,SSL证书除了可以加快搜索引擎收录以外,还确保客户端与站点传输数据的加密作用,所有操作系统都可以部署。
http与https的区别
https相比http多了个s,这个“s”指的是secure(可翻译为安全的、可靠的),即http + 加密 + 认证 + 完整性保护 = https,其实就是多了ssl协议这层外壳的http,这就是它们最大的区别(如下图)。还有以下几点主要的区别:
- https协议需要申请CA证书,一般免费证书较少,因而需要一定费用。
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的;https协议是有ssl + http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
http与https区别图解
接下来就是从头开始配置https的全过程
一、环境说明
服务器系统:CenterOS 7
服务器IP:106.14.***.***(自己服务器的IP)
域名:shine***.cn(自己的域名)
二、添加域名解析
以阿里为例,在阿里云控制台=>产品域服务=>云解析DNS=>找到需要解析的域名,点击【解析】,进入解析页面后选择【添加解析】。
下图中第一、二个是域名常规配置,如已配请忽略,主要是第三个,是在申请证书验证时所需要的(具体所需要填的值后面步骤会提到)。
三、申请SSL证书
在阿里云控制台=>产品与服务=>安全(云盾)=>SSL证书,进入后点击【购买证书】。
如下图我选择的是“免费版DV SSL”,有1年的有效期。
确认购买后,点击证书列表里的【证书申请】
填写相关信息,从“域名验证方式”开始往下的默认就好
下一步,如果出现下图中错误提示,说明我在上面第二步提到的域名解析里没有添加第三个的解析。
解决办法则是,添加域名解析,“主机记录值“与”记录值“直接复制上图中的值就好,记录类型选择“TXT”,然后确认即可再次回到这里点击验证。
验证通过后,可能需要等待几分钟时间,等证书状态变为“已签发”,就可以下载了。
四、下载证书
在列表中找到已签发的证书,点击【下载】,选择nginx的进行下载
下载后,会得到一个压缩包,里面会有两个文件(.key和.pem文件)
五、登陆服务器,配置SSL证书
1.进入nginx安装目录:/usr/local/nginx (这是我服务器上nginx安装目录),新建cert/文件夹,把刚才下载的两个文件上传到cert/目录下。
2.在nginx/conf/目录下,编辑nginx配置文件nginx.conf(最好先做下备份),修改如下:
server { listen 8082; listen 8083 ssl; #这里原本默认是443端口,我自定义改用8083了,可以不改 server_name www.shine***.cn; #自己的域名 root /usr/local/nginx/html/baseManage; #这里是我自定义的访问根目录 ssl_certificate /usr/local/nginx/cert/3833729_www.shine***.cn.pem; #SSL配置 后面是写.pem文件所在的路径 ssl_certificate_key /usr/local/nginx/cert/3833729_www.shine***.cn.key; #SSL配置 后面是写.key文件所在的路径 ssl_session_cache shared:SSL:1m; #SSL配置 ssl_session_timeout 5m; #SSL配置 ssl_ciphers HIGH:!aNULL:!MD5; #SSL配置 ssl_prefer_server_ciphers on; #SSL配置 error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
3.修改配置保存后,检查一下nginx配置文件是否可用,有successful输出表示可用。
$ nginx -t // 检查nginx配置文件
这里,大多数可能是第一次安装https证书,就会出现报错,说是缺少SSL模块(如果没有提示缺少SSL模块,可以直接操作步骤4),如下图:
3.1这个时候我们就需要先安装SSL模块,目录切换到nginx源码包安装位置(就是有configure执行文件的目录下):
cd /usr/local/nginx
3.2执行语句,安装SSL模块:
$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
3.3这时候可能又会有点小问题,启动SSL模块的时候报错了:
看到了error,就知道Linux安装失败,停止了。这个错误是因为我们没有安装openssl openssl-devel(如果没有这一步的报错的话,可以忽略跳过下面的3.4安装openssl-devel的步骤,直接操作3.5的步骤)
3.4执行安装openssl openssl-devel命令:
$ yum -y install openssl openssl-devel
安装上openssl-devel后,重新执行./configure --prefix=/usr/local/nginx
--with-http_stub_status_module --with-http_ssl_module
3.5配置成功后,那么就需要编译我们的配置。(注意:这里只能用make,而不要用make install,因为执行make install是覆盖安装的意思)
$ make
等待执行完成后,我们需要把新编译的nginx模块替换原来的nginx。
3.6还是老规矩,先备份就的nginx执行文件(命令里的路径根据自己实际情况修改):
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
3.7关闭nginx(因为要把新的模块覆盖就的nginx),通过命令找到进程号,在杀死该进程就可以了,执行命令:
ps -ef |grep nginx #查看进程号 kill -9 进程号
3.8关闭nginx进程后就可以开始替换了,执行命令:
cp /usr/local/nginx/objs/nginx /usr/local/nginx/sbin/
3.9然后就是启动nginx。
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
因为刚才替换nginx模块时把nginx进程都kill掉了,所有要用上面的命令进行启动,而不是使用reload重启。
4.配置正确后,需要重新加载nginx配置文件才可以使修改的配置生效
$ nginx -s reload // 使配置生效
到此,nginx的https访问就完成了。访问效果如下:
说明:如果访问不成功,则需要去检查实例的安全组,是否有配置开放对应的端口;如没有,则需要配置了才能访问(如默认的80、443端口或者自定义的端口)。
21世纪经济报道记者 吴斌 上海报道
在经济和货币政策前景未明之际,新的一年美股走势依旧动荡不安。
在大型科技股涨势的提振下,上周五美股三大指数强势反弹,纳指大涨2.66%,标普500指数涨1.89%,道指涨1%。不过,从一周表现来看,美股走势艰难,纳指涨0.55%,标普500指数跌0.66%,道指大跌2.70%。
对于美股近期略有好转的迹象,一些大行策略师已经提醒投资者保持谨慎。摩根大通首席全球市场策略师Marko Kolanovic表示,美股市场新一轮反弹即将结束,现在建议卖出美股并获利了结。推动美股上涨的很多积极催化剂都已释放,而美联储和美国企业未来仍可能抛出几枚潜在“炸弹”,比如大量美股企业即将公布的第四季度财报可能不及预期,经济衰退和过度紧缩的风险依然很高。
美联储激进加息冲击经济
美联储激进加息对经济的负面效果正在显现,体现在了经济的方方面面。
美联储褐皮书显示,美联储的激进加息拖累了经济增长,在美联储12个辖区中,有五个辖区整体经济活动轻微或适度增长,六个辖区经济活动没有变化或略有下降,还有一个辖区经济活动显著下降。
最引人注目的是,美国经济支柱消费已经疲态尽显。美国去年12月零售销售环比意外下降1.1%,为2021年12月以来最大降幅,也是连续第二个月下降。扣除汽车和汽油后,12月核心零售销售环比下降0.7%,差于市场预期的0%。而且相关零售数据都没有经过通胀调整,这意味着消费数据实际降幅更大。
在房地产领域,美国全国房地产经纪人协会(NAR)数据显示,去年12月美国成屋销售量环比下降1.5%至402万套,创下2010年11月以来的最低水平,与2021年同期相比,成屋销售量同比下降34%。全年来看,2022年美国成屋销售总额为503万套,较2021年下降17.8%,创2008年以来最大年度降幅,房地产行业继续降温。
与此同时,美国通胀数据已经逐步回落。美国去年12月PPI同比增长6.2%,创下2021年3月以来最小增幅,较11月7.4%的水平继续放缓。剔除波动较大的食品和能源,美国12月核心PPI同比增长5.5%,较11月的6.2%显著下行。
但需要警惕的是,相对强劲的劳动力市场意味着通胀压力依旧严峻。截至1月14日当周,美国首次申请失业救济金的人数为19万人,创下2022年9月24日以来新低,远低于市场预期的21.4万人。
这对于想要平抑高通胀的美联储来说并不是一个好消息,美联储官员们担心火热的劳动力市场可能加快工资增速,继而给物价水平提供支撑。如果面临这种情况,美联储很可能要加息到一个比预期更高的水平。
康奈尔大学约翰逊商学院特约讲师John Blevins表示,劳动力市场仍然有庞大的空缺,被大型科技公司解雇的人几乎能立即获得新的工作。本月月初公布的非农报告也显示,美国去年12月失业率进一步走低至3.5%,为1969年以来的低位。
通胀数据携手四季度GDP来袭
在中国欢度春节之际,本周全球市场仍不平静。美国将公布第四季度实际GDP、2022年12月核心PCE物价指数等重磅经济数据,英美欧将组团公布最新PMI数据,加拿大央行将公布利率决议,世卫组织讨论新冠疫情是否仍为全球紧急事件。
作为美联储最青睐的通胀指标,美国去年12月的核心PCE物价指数备受关注,经济学家预计12月PCE物价指数同比涨幅将从11月的5.5%降至5.0%,料将创下2021年10月以来最低。美国12月核心PCE物价指数同比涨幅预计将从4.7%降至4.4%,料将创下2021年11月以来最低水平。
在去年12月的会议上,美联储已经将加息步伐从75个基点放慢到50个基点。芝商所美联储观察工具显示,目前市场预期美联储在2月会议上加息25个基点的概率超过90%,而加息50个基点的概率不足10%。
官方层面,美联储理事沃勒称,他支持下次会议进一步放缓加息步伐,货币政策已很接近足够限制经济的水平。不过,美联储距离2%的通胀目标还有很长的路要走,需要继续收紧货币政策。
与此类似的是,费城联储主席哈克也表示,他预计美联储还会加息几次,但之后每次加息的幅度定在25个基点是合适的。加息结束之后,美联储会将具有足够限制性的政策利率保持一段时间,让货币紧缩政策充分发挥作用。
PIMCO(品浩)北美经济学家Tiffany Wilding对21世纪经济报道记者表示,在美联储去年12月加息50个基点后,2月初的会议上预计会将加息步伐进一步降至25个基点,通胀和劳动力市场数据放缓的程度将足以推动美联储在5月会议前暂停加息。
自2023年年初以来,由于投资者押注通胀消退,全球股市攀升。但瑞银指出,这可能是一种假象,粘性通胀以及相对强劲的劳动力市场给股市带来下行压力,核心通胀率高于预期的可能性仍是市场面临的一个风险。
Wilding警告称,尽管核心商品价格继续对整体通胀减速做出贡献,但服务通胀仍然坚挺。一些美联储官员预测5月份会继续加息,使联邦基金利率略高于5%。
未来通胀高于预期的风险依旧存在,摩根大通首席执行官Jamie Dimon提醒,近期通胀放缓来自暂时性因素,例如油价回落等因素。大量潜在通胀因素或将令通胀居高不下,美联储本轮加息周期的利率峰值或在5%以上,高于市场的预期。
此外,本周投资者还将迎来重磅财报周,美股去年第四季度财报季逐渐进入高潮,特斯拉、微软、英特尔、强生、通用电气、阿斯麦、波音、IBM、雪佛龙等巨头都将在本周公布业绩。
全球财经日历
周一(1月23日)
美国12月谘商会领先指标、日本央行公布2022年12月货币政策会议纪要
周二(1月24日)
欧元区1月制造业/服务业PMI初值、英国1月制造业/服务业PMI、美国1月Markit制造业/服务业PMI初值、欧洲央行行长拉加德发表讲话
周三(1月25日)
加拿大央行公布利率决议、澳大利亚第四季度CPI、德国1月IFO商业景气指数、瑞士1月ZEW投资者信心指数、美国至1月20日当周EIA原油库存
周四(1月26日)
美国第四季度实际GDP年化季率初值、美国至1月21日当周初请失业金人数、美国第四季度实际个人消费支出初值、美国第四季度核心PCE物价指数、美国12月耐用品订单、美国12月新屋销售总数
周五(1月27日)
美国12月核心PCE物价指数、美国12月个人支出、美国1月密歇根大学消费者信心指数终值、美国1月一年期通胀率预期、欧洲央行行长拉加德发表讲话、世卫组织讨论新冠疫情是否仍为全球紧急事件
更多内容请下载21财经APP
炒股离不开指标,认定2到3个自己熟悉、喜欢的指标,帮助选股就可以了。毕竟一个形态,不可能满足所有指标,你要清楚所有指标,都有滞后性、都只能辅助交易。
任何股票也都有它的运行规律,我们要做的就是遵循规律,认定趋势进行操作。趋势向上,看多做多;趋势向下,不做不看。
今天重点分享一下均线的使用。
一、均线的作用
①均线可以判断股价所处位置是空头市场还是多头市场,以此断定买入或卖出。
②均线可以判断压力位和支撑位
股价在均线上方运行,当回调到均线处,遇均线支撑,拐头向上,继续上涨;
股价在均线下方运行时,当上涨到均线处遇阻回落,继续向下。
均线周期越长,它的支撑和圧力越可靠。
③均线有助涨和助跌的作用
股价股价上穿均线,加速上涨;股价跌破均线,加速下跌。
④均线对股价有牵引作用
股价离均线太高或太低,受均线牵引要回到均线附近,
下一篇:现货交易入门书籍(交易现货知识)