• python 13篇 加密模块和网络编程之 requests模块


    一、加密

    1.1 md5加密

    # md5 加密   ,同样的字符串,使用md5加密后结果都一样。加密后不可逆
    import hashlib
    s = '123456'
    def my_md5(s):
        s = str(s)
        s = s.encode()
        m = hashlib.md5(s.encode())  # 必须要传一个bytes类型的参数
        result = m.hexdigest()
    
    print(my_md5(s))
    
    # 加盐
    passwd = '123456' + '#@##@@#%233422'  # 后面加上随机生成的字符串,这一部分叫盐值

      常见的用户名的密码使用md5加密后,在登录时,是把传参的明文密码进行md5加密后和数据库中加密的密码进行比对,如果一致就可以登录。

    1.2 base64加密和解密

    import base64
    
    s = 'xiaobai26623@42$##中文'
    # 加密
    r = base64.b64encode(s.encode())  # 传参要传bytes类型,返回的也是bytes类型
    print(r.decode())
    # 解密
    str1 = 'eGlhb2JhaTI2NjIzQDQyJCMj5Lit5paH'
    result = base64.b64decode(str1)
    print(result.decode())
    # 执行结果:
    #  eGlhb2JhaTI2NjIzQDQyJCMj5Lit5paH
    #  xiaobai26623@42$##中文

    二、网络编程

    # 做接口自动化
    import requests
    
    # 请求接口 client
    url = 'http://127.0.0.1:8888/login'
    data = {'username': 'niuhanyang2', 'password': '1'}
    
    # get 请求
    r = requests.get(url, data)
    print(r.json())  # 返回的字典
    print(r.text)  # 返回字符串格式
    print(r.content)  # 返回bytes类型  下载图片或其他文件时使用
    
    r2 = requests.post(url, data)
    r3 = requests.post(url, data, params={'version': '1.0'}) # params中的参数传在url中,data传在请求体中
    # 传cookie 的两种方式
    cookie = {}  # 把抓包中的cookie中的数据,每个字段都一一做映射
    headers = {'cookie': ''}  # 直接把抓包中的一堆cookie数据放入字典中cookie的value中
    
    # 入参是json
    r4 = requests.post(url, json=data)
    
    # 上传文件,入参是文件
    url2 = 'http://api.nnzhp.cn/api/file/file_upload'
    data = {'file': open('mock_flask.py', 'rb')}
    r5 = requests.post(url2, files=data)
    
    # 下载文件
    url3 = 'https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=293407302,1362956882&fm=26&gp=0.jpg'
    r = requests.get(url3)
    r = requests.get(url3, verify=False)  # 如果遇到https请求报错,加上verify=False
    f = open('a.jpg', 'wb')
    f.write(r.content)
    f.close()
    print(r.content)
  • 相关阅读:
    Java编程思想读书笔记 第十章 内部类
    利用lambda和条件表达式构造匿名递归函数
    概率论与数理统计-课程小报告
    leetcode226 翻转二叉树
    leetcode199 二叉树的右视图
    leetcode114- 二叉树展开为链表
    leetcode145 二叉树的后序遍历 特别注意迭代
    leet144 二叉树的前序遍历
    leetcode113 路径总和2 特别关注
    leetcode 112 路径总和 特别关注
  • 原文地址:https://www.cnblogs.com/lhy-qingqiu/p/13694011.html
Copyright © 2020-2023  润新知