first init project code
This commit is contained in:
40
04-CustomLibrary/Custometest/MD5.py
Normal file
40
04-CustomLibrary/Custometest/MD5.py
Normal file
@@ -0,0 +1,40 @@
|
||||
# 由于MD5模块在python3中被移除
|
||||
# 在python3中使用hashlib模块进行md5操作
|
||||
|
||||
import hashlib
|
||||
|
||||
class MD5:
|
||||
def MD5(data,langer,md5_types):
|
||||
# 创建md5对象
|
||||
# m = hashlib.md5()
|
||||
# Tips
|
||||
# 此处必须encode
|
||||
# 若写法为m.update(str) 报错为: Unicode-objects must be encoded before hashing
|
||||
# 因为python3里默认的str是unicode
|
||||
# 或者 b = bytes(str, encoding='utf-8'),作用相同,都是encode为bytes
|
||||
# b = str.encode(encoding='utf-8')
|
||||
# m.update(b)
|
||||
# str_md5 = m.hexdigest()
|
||||
if langer == "英文":
|
||||
# str_md5 = hashlib.md5(b'this is a md5 test.').hexdigest()
|
||||
str_md5 = hashlib.md5("b'"+data+"'").hexdigest()
|
||||
print('MD5加密前为 :' + data)
|
||||
print('MD5加密后为 :' + str_md5)
|
||||
return str_md5
|
||||
elif langer == "中文":
|
||||
str_md5 = hashlib.md5('你好'.encode(encoding=md5_types)).hexdigest()
|
||||
return str_md5
|
||||
# utf8 和gbk 加密结构不一样
|
||||
# hashlib.md5('你好'.encode(encoding='GBK')).hexdigest()
|
||||
# hashlib.md5('你好'.encode(encoding='GB2312')).hexdigest()
|
||||
# hashlib.md5('你好'.encode(encoding='GB18030')).hexdigest()
|
||||
if __name__ == '__main__':
|
||||
data = '小猪'
|
||||
langer = '中文'
|
||||
md5_types = 'GBK'
|
||||
a =MD5(data,langer,md5_types)
|
||||
print(a)
|
||||
b=r'C:\Users\小猪\AppData\Local\Programs\Python\Python37\Lib\site-packages\custometest\MD5.py'
|
||||
with open(b, encoding='utf-8') as f:
|
||||
text = f.read()
|
||||
print(text)
|
||||
16
04-CustomLibrary/Custometest/__init__.py
Normal file
16
04-CustomLibrary/Custometest/__init__.py
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
#-*- coding:utf-8 -*-
|
||||
'''
|
||||
created by hch 2019-06-26
|
||||
'''
|
||||
|
||||
from custometest.printlog import printlog
|
||||
from custometest.MD5 import MD5
|
||||
from custometest.cmd_cer import Order
|
||||
# from custometest.printlog import printlog
|
||||
|
||||
|
||||
__version__ = '1.0'
|
||||
|
||||
class custometest(printlog,Order,MD5):
|
||||
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
|
||||
0
04-CustomLibrary/Custometest/certificate.yaml
Normal file
0
04-CustomLibrary/Custometest/certificate.yaml
Normal file
164
04-CustomLibrary/Custometest/cmd_cer.py
Normal file
164
04-CustomLibrary/Custometest/cmd_cer.py
Normal file
@@ -0,0 +1,164 @@
|
||||
import os
|
||||
import subprocess
|
||||
from time import sleep
|
||||
|
||||
|
||||
class Order:
|
||||
def CMD(self,data):
|
||||
result = os.popen(data)
|
||||
# res = result.read().encoding('GBK')
|
||||
res = result.read()
|
||||
result.close()
|
||||
# res = res.decode("unicode-escape")
|
||||
return res
|
||||
def Linux(self):
|
||||
pass
|
||||
# 根据证书颁发者名字判断证书是否替换
|
||||
def Cert_Verification(self,data):
|
||||
c = []
|
||||
print(1)
|
||||
#with open(r'C:\Users\iiesoft\AppData\Local\Programs\Python\Python36\Lib\site-packages\custometest\certificate.yaml', 'r') as foo:
|
||||
with open(r'certificate.yaml', 'r') as foo:
|
||||
print(2)
|
||||
for line in foo.readlines():
|
||||
if data in line:
|
||||
print(line)
|
||||
c.append('证书已替换')
|
||||
else:
|
||||
pass
|
||||
if '证书已替换' in c:
|
||||
# print('证书已替换')
|
||||
foo.close()
|
||||
return '证书已替换'
|
||||
else:
|
||||
# print('证书未替换')
|
||||
foo.close()
|
||||
return '证书未替换'
|
||||
|
||||
def Content_Type(self,data):
|
||||
d = []
|
||||
with open('certificate.yaml', 'r') as foo:
|
||||
for line in foo.readlines():
|
||||
if data in line:
|
||||
# print(line)
|
||||
d.append('Content_Type已替换')
|
||||
else:
|
||||
pass
|
||||
if 'Content_Type已替换' in d:
|
||||
# print('证书已替换')
|
||||
foo.close()
|
||||
return 'Content_Type已替换'
|
||||
else:
|
||||
# print('证书未替换')
|
||||
foo.close()
|
||||
return 'Content_Type未替换'
|
||||
# curl路由内容设置
|
||||
def curl_name(self,data):
|
||||
#curl_name = 'curl -kv -m 10 -1 --trace C:/Users/iiesoft/AppData/Local/Programs/Python/Python36/Lib/site-packages/custometest/certificate.yaml '+data+'| iconv -f utf-8 -t gbk'
|
||||
curl_name = 'curl -kv -m 10 -1 --trace certificate.yaml '+data+'| iconv -f utf-8 -t gbk'
|
||||
return curl_name
|
||||
# 控制器
|
||||
def manu(self,url,Certificate):
|
||||
# print(data['url'])
|
||||
n = 0
|
||||
while n != len(url):
|
||||
b = self.curl_name(url[n])
|
||||
d = self.CMD(b)
|
||||
# print(d)
|
||||
sleep(1)
|
||||
if Certificate != "":
|
||||
c =self.Cert_Verification(Certificate)
|
||||
# f = self.Content_Type(data["Content_Type"])
|
||||
sleep(1)
|
||||
assert_cer = url[n]+c
|
||||
# assert_Content_Type = data['Content_Type']+f
|
||||
n+=1
|
||||
return d,assert_cer
|
||||
|
||||
def FTP(self, ftp_type):
|
||||
windows_path = os.getcwd()
|
||||
linux_path = os.getcwd().replace('\\', '/')
|
||||
# 判断FTP执行类型:(下载/登录)
|
||||
if ftp_type == "下载":
|
||||
# 调用cmd执行FTP下载文件
|
||||
data = 'curl -m 20 ftp://202.38.97.230/pub/iso/linux/knoppix/KNOPPIX_V7.7.1DVD-2016-10-22-EN/dpkg-l-dvd-771.txt -u"anonymous:chrome@example.com" -o zmmtext123.txt'
|
||||
d = self.CMD(data)
|
||||
sleep(5)
|
||||
fsize = os.path.getsize(linux_path + "/zmmtext123.txt") # 435814
|
||||
if fsize == 435814:
|
||||
return "Success"
|
||||
else:
|
||||
return "Fail"
|
||||
elif ftp_type == "登录":
|
||||
data = 'curl -m 10 ftp://202.38.97.230/pub/iso/linux/knoppix/KNOPPIX_V7.7.1DVD-2016-10-22-EN/dpkg-l-dvd-771.txt -u"anonymous:chrome@example.com" | iconv -f utf-8 -t gbk'
|
||||
d = self.CMD(data)
|
||||
# print(d)
|
||||
if "Graphical (Xorg) program starter for ADRIANE" in d:
|
||||
return "Success"
|
||||
else:
|
||||
return "Fail"
|
||||
# FTP 下载
|
||||
def FTP_down(self, ftp_url,file_size,fiel_name):
|
||||
windows_path = os.getcwd()
|
||||
linux_path = os.getcwd().replace('\\', '/')
|
||||
# 判断FTP执行类型:(下载/登录)
|
||||
# 调用cmd执行FTP下载文件
|
||||
data = 'curl -m 20 '+ftp_url+ '-o '+ fiel_name + " ' "
|
||||
print(data)
|
||||
d = self.CMD(data)
|
||||
sleep(5)
|
||||
fsize = os.path.getsize(linux_path + "/"+fiel_name) # 435814
|
||||
print(fsize)
|
||||
if fsize == file_size:
|
||||
return "Success"
|
||||
else:
|
||||
return "Fail"
|
||||
|
||||
# FTP 登录
|
||||
def FTP_login(self, ftp_url,file_content):
|
||||
data = 'curl -m 10 '+ftp_url+' | iconv -f utf-8 -t gbk'
|
||||
d = self.CMD(data)
|
||||
# print(d)
|
||||
if file_content in d:
|
||||
return "Success"
|
||||
else:
|
||||
return "Fail"
|
||||
|
||||
if __name__ == '__main__':
|
||||
datas = {"url":['https://www.baidu.com'],
|
||||
"Certificate":"Tango Secure Gateway CA",
|
||||
# "Content_Type":"text/html",
|
||||
'log':'Security Event Logs',
|
||||
"sni":['baidu'],
|
||||
"intercept_code":"200",
|
||||
"log_code":"200",
|
||||
"certifucate":"1",
|
||||
"log_content":"true"
|
||||
}
|
||||
# data= {"url":['https://www.baidu.com'],
|
||||
# "Certificate":"Tango Secure Gateway CA"
|
||||
# }
|
||||
# url = ['https://www.baidu.com']
|
||||
# url = ['https://www.baidu.com']
|
||||
# url = ['https://www.baidu.com']
|
||||
# # Certificate1 = "Tango Secure Gateway CA"
|
||||
# Certificate = "baidu"
|
||||
# a='Tango Secure Gateway CA'
|
||||
# s = Order()
|
||||
# b = s.manu(url,Certificate)
|
||||
# print(b[1])
|
||||
# FTP下载 传入ftp的路径和文件大小
|
||||
ftp_url = 'ftp://202.38.97.230/pub/iso/linux/knoppix/KNOPPIX_V7.7.1DVD-2016-10-22-EN/dpkg-l-dvd-771.txt -u"anonymous:chrome@example.com" '
|
||||
ftp_size = 435814
|
||||
ftp_issue = s.FTP_down(ftp_url,ftp_size)
|
||||
# FTP登录 传入ftp的路径和文件内容
|
||||
ftp_url ='ftp://202.38.97.230/pub/iso/linux/knoppix/KNOPPIX_V7.7.1DVD-2016-10-22-EN/dpkg-l-dvd-771.txt -u"anonymous:chrome@example.com" '
|
||||
file_content = "Graphical (Xorg) program starter for ADRIANE"
|
||||
ftp_issue = s.FTP_login(ftp_url,file_content)
|
||||
# for i in b:
|
||||
# print(i)
|
||||
# dd = s.CMD('curl -I https://www.baidu.com')
|
||||
# print(dd)
|
||||
# if "private, no-cache, no-store, proxy-revalidate, no-transform"in dd:
|
||||
# print("ok")
|
||||
# a ='curl -kv -1 --trace certificate.yaml https://www.baidu.com | iconv -f utf-8 -t gbk'
|
||||
11
04-CustomLibrary/Custometest/printlog.py
Normal file
11
04-CustomLibrary/Custometest/printlog.py
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
#-*- coding:utf-8 -*-
|
||||
'''
|
||||
created by hch 2019-06-26
|
||||
'''
|
||||
|
||||
|
||||
class printlog():
|
||||
|
||||
def printA():
|
||||
print("hello word")
|
||||
Reference in New Issue
Block a user