1、base64加密
import base64s=‘1234‘new_s = base64.b64encode(s.encode())#加密print(‘加密完的‘,new_s)old_s = base64.b64decode(new_s.decode()).decode() #解密回来的print(‘解密回来的‘,old_s) def bs64_data_encode(st): ‘‘‘这个函数是用来base64加密的‘‘‘ salt=‘12345‘ new_str = str(st)+salt encode_str = base64.b64encode(new_str.encode()).decode() return encode_str def bs64_data_decode(st): ‘‘‘这个函数是用来base64解密的‘‘‘ salt=‘12345‘ res = base64.b64decode(st).decode() res=res.replace(salt,‘‘) return res2、zip方法
a1=[‘姓名‘,‘年龄‘,‘电话‘]a2=[‘nyy‘,28,110]for k,v in zip(a1,a2):#zip函数接受任意可迭代的对象作为参数 print(‘%s:%s‘%(k,v)) ‘‘‘打印出: 姓名:nyy 年龄:28 电话:110‘‘‘print(zip(a1,a2))#只是用zip方法打印的是内存地址print(list(zip(a1,a2)))#对象中对应的元素打包成一个个tuple,打印tuples组成的list,如[(‘姓名‘, ‘nyy‘), (‘年龄‘, 28), (‘电话‘, 110)]
3、异常处理
try: price = input(‘请输入价格:‘) if price.isdigit(): pass else: raise ValueError#主动抛出异常except Exception as e: #如果上面的代码出错了,才走except #python3 里面处理异常这么写 print(e)else:#如果上面的代码未出错,走else print(‘11‘)finally:#不管try的代码是否出错,都走finally print(‘x‘) 4、接口签名说白了就是登录之后给你的通行证接口签名规则,如:md5(username+当前登录的时间戳+salt)sign_str = username + str(int(time.time())) + SALTsign=md5_passwd(sign_str)#md5后的签名1、有一些参数就从cookie里面获取到了。因为浏览器会自动把cookie里面的东西发给服务端 获取cookie的话,就是request.cookies.get(‘k‘)2、如果你想setcookie的话,那你就用 res = make_response(‘{"msg":"xxxx"}‘) res.set_cookie(k,v)#setcookie 但是呢,一般这样的关键信息不要写到cookie里面因为会导致cookie盗用 5、网络编程
url编码、url解码:from urllib.parse import quote,unquotea=‘ 奥迪% jdskfiewklew‘print(a)print(quote(a))#url编码print(unquote(quote(a)))#url解码 urllib模块:from urllib.request import urlopen #从urllib里面导入urlopen,它是用来打开一个连接的from urllib.parse import urlencode #是把字典转成k=v这种形式的url="http://127.0.0.1:8001/login"data = {"username":"nina","password":123456}param = urlencode(data)# res = urlopen(url+‘?‘+param).read().decode() #发get请求res = urlopen(url,param.encode()).read().decode() #发post请求print(res) requests模块:import requestsurl = "http://127.0.0.1:8001/login"data={"username":"nina","password":"123456"}req = requests.get(url,data)# req = requests.get(url+"?"+"username=nina&pwd=‘123456‘")#这样直接拼接url也可以print(req.text) #.text时返回一个字符串print(req.json()) #.json()时返回一个字典,前提时接口必须返回json串 #********#获取签名sign***************************************************************************************def get_sign(url,data): res = requests.post(url,data).json() print(res) return res[‘sign‘] #********请求报文为json类型的*******************************************************************************sign = get_sign(url,data)data2 = { "username":‘jackzhao‘, "real_name":"赵赵", "class":"巨蟹座", "phone":"18877770001", "sign":sign}r = requests.post(‘http://127.0.0.1:8001/add_stu‘,json=data2)print(r.text) # ********发带cookie的 header*********************************************************************************sign = get_sign(url,data)cookie = {‘sign‘:sign}header = {‘nieyy‘:‘dsdswww‘}data2 = { "username":‘mmaj‘, "real_name":"玛丽", "class":"巨蟹座", "phone":"19800090002"}r = requests.post(‘http://127.0.0.1:8000/add_stu‘,json=data2,cookies=cookie,headers=header) #header里面传的时候不能有中文print(r.text) #********上传文件************************************************************************************************file ={‘file_name‘:open(‘hahah.py‘,encoding=‘utf-8‘)}url="http://127.0.0.1:8001/upload"r = requests.post(url,files=file)print(r.text)
时间: 2024-10-08 22:23:41