导航:首页 > 编程语言 > pythonssl编程

pythonssl编程

发布时间:2023-09-21 03:07:33

❶ 怎么用python 来实现 SSL登录FTP python中有ftplib模块,但它是普通登录,也有ssl模块,怎么来实现呢

从python 2.7开始ftplib模块就有一个支持ftp ssl的类FTP_TLS了
具体可以看这里
http://docs.python.org/library/ftplib.html#ftplib.FTP_TLS

❷ 如何验证在Python SSL证书

importos
importglob
fromOpenSSL.SSLimportContext,TLSv1_METHOD,VERIFY_PEER,VERIFY_FAIL_IF_NO_PEER_CERT,OP_NO_SSLv2
fromOpenSSL.cryptoimportload_certificate,FILETYPE_PEM
fromtwisted.python.urlpathimportURLPath
fromtwisted.internet.sslimportContextFactory
fromtwisted.internetimportreactor
fromtwisted.web.clientimportgetPage
certificateAuthorityMap={}
forcertFileNameinglob.glob("/etc/ssl/certs/*.pem"):
#,solet'smakesureit'sreal.
ifos.path.exists(certFileName):
data=open(certFileName).read()
x509=load_certificate(FILETYPE_PEM,data)
digest=x509.digest('sha1')
#Now,de-.
certificateAuthorityMap[digest]=x509
(ContextFactory):
def__init__(self,hostname):
self.hostname=hostname
isClient=True
defgetContext(self):
ctx=Context(TLSv1_METHOD)
store=ctx.get_cert_store()
.values():
store.add_cert(value)
ctx.set_verify(VERIFY_PEER|VERIFY_FAIL_IF_NO_PEER_CERT,self.verifyHostname)
ctx.set_options(OP_NO_SSLv2)
returnctx
defverifyHostname(self,connection,x509,errno,depth,preverifyOK):
ifpreverifyOK:
ifself.hostname!=x509.get_subject().commonName:
returnFalse
returnpreverifyOK
defsecureGet(url):
returngetPage(url,HTTPSVerifyingContextFactory(URLPath.fromString(url).netloc))
defdone(result):
print'Done!',len(result)
secureGet("https://google.com/").addCallback(done)
reactor.run()

这个验证要安装Twisted 库。

当然这样的库好多,如:pycurl,requests,M2Crypto

importrequests
requests.get('https://somesite.com',cert='/path/server.crt',verify=True)

❸ python3 代码怎样关闭url与ssl属性校验

importurllib.request
importssl

url="httpsurl"
header=headers={
"User-Agent":"Mozilla/5.0(Macintosh;IntelMacOSX10_7_0)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.56Safari/535.11"
}

request=urllib.request.Request(url,headers=header)
context=ssl._create_unverified_context()#忽略ssl证书验证
res=urllib.request.urlopen(request,context=context)
print(res.read().decode("utf8"))

阅读全文

与pythonssl编程相关的资料

热点内容
思科服务器如何发布www任务 浏览:680
怎么在苹果里面下王者安卓版的 浏览:686
c语言改编程序没保存 浏览:437
msdos编译教程 浏览:978
怎么去文件夹后缀 浏览:445
粉笔app笔试真题在哪里 浏览:108
晋江小说阅读app怎么注册填写验证 浏览:157
安卓手机如何将手机app安装到u盘 浏览:520
指针编译在哪运行 浏览:810
dnf大枪压缩补丁 浏览:355
linux命令env 浏览:914
浙江app遥控锁哪里有 浏览:708
qq别人加密了怎样才能给他解开 浏览:253
程序员离职开店 浏览:770
excel不能对多重区域使用此命令 浏览:969
手机影像算法盘点 浏览:729
反编译为什么不能得到源代码 浏览:926
php最流行的框架 浏览:191
cnc编程哪种软件好 浏览:1004
电脑编程软件报班学习 浏览:507